ユーザー名をそれぞれのユーザー ID に変換しようとしていますが、何らかの理由で配列の最初の項目のみが変換されています。残りは、結果の配列では単なる null です。同じ名前を 3 回入力できますが、配列の最初の要素だけが変換されます。
次の配列をユーザーIDに変換しようとするとします
$users = [1 => test1, 2 => test2, 3 => test3]
結果の配列は
$users = [1 => 1, 2 => , 3 => ]
これは、ユーザー ID を検索するループです。
foreach($user_list as $user){
array_push($user_id_list,$convert->userid_lookup($user));
}
ここに変換関数があります
function userid_lookup($username){
echo $username //each name appears here
$lookup = mysql_query("select userid from users where username = '$username' ");
$result = mysql_fetch_array($lookup);
echo $result['userid']; //only the first element's id appears
return $result['userid'];
}
最初の要素だけが変換されるのはなぜですか? 各アイテムをエコーすると表示されるため、各アイテムが処理されていることがわかります。