それを配列として扱っているのではなく、更新する変数を持っているだけです。
問題は、この行$user_id_worker = $row['user_id'];
で値を$user_id_worker
行に設定し、次のループで別の値に再度設定することです。変数を配列として扱っていません。
古い値を置き換える代わりに配列に追加するには、配列の短縮形または配列のプッシュを使用する必要があります。以下を参照してください。
配列の短縮形を使用した例:
$user_id_worker = array();
foreach ($query_result_worker as $row){
$user_id_worker[] = $row['user_id'];
}
var_dump($user_id_worker);
または、配列 pushを使用します。
foreach ($query_result_worker as $row){
array_push($user_id_worker, $row['user_id']);
}
var_dump($user_id_worker);
ジミーからの追加の質問
簡単な質問ですが、この配列の後に関数があり、その中で配列を使用したい場合は、show_assigned_tasks_workers($user_id_worker[]); これはうまくいきません。どうすれば他の方法でできますか? ありがとう!– ジミー 17 分前
それは機能しません。関数も選択を行い、その関数で配列がどのようになるかわかりません。データが次のような場合にのみ機能すると思います:文字列 '12747'(長さ= 5)文字列 '12596' (長さ = 5) 文字列 '12759' (長さ = 5) 文字列のように ... – Jimmy 14 分前
おそらく、呼び出している関数の周りで for each ループを実行する必要があります (ワーカーごとに 1 つ)。
次のようにします。
foreach ($user_id_worker as &$workerId) {
show_assigned_tasks_workers($workerId);
}
ユーザーごとにその関数を 1 回実行します。