【发布时间】:2016-09-04 11:35:05
【问题描述】:
我正在尝试对一组用户执行 foreach 循环,然后从每 5 个用户中随机选择 1 个用户并再次执行 foreach 循环,结果显示用户 ID,以下工作直到第二个 foreach 点这引发了一个错误,谁能告诉我我做错了什么。
提前致谢。
$eligable_users = get_users(array(
'meta_key' => 'eligable',
'meta_value' => '0'
));
$user_chunks = array_chunk($eligable_users, 4);
foreach($user_chunks as $individual_user_chunk) {
$random_result = array_rand($individual_user_chunk ,1);
foreach($random_result as $user) {
echo $user->ID . "</br>";
}
}
【问题讨论】:
-
您遇到的错误是什么?错误指向哪一行?代码的意图是什么?随机消耗所有数组值?您能否提供实际
$eligable_users数组的样本,该数组给出了重现问题的错误?也可以在帮助中心查看MCVE。 -
错误是:警告:为 foreach() 提供的参数无效,代码应获取用户数组,将数组分成 5 个块,从 5 个块中获取 1 个随机结果,然后对每个随机结果执行另一个 foreach (foreach($random_result as $user)) 以回显用户的用户 ID
-
所以基本上你只想要 5 个随机用户 ID?我认为在这里使用两个循环没有意义。
-
那你为什么用
array_chunk(..., 4)呢?这给了你 4 个用户,而不是 5 个。 -
不,数组块的第二个参数是
size,而不是偏移量。 See the manual for details.
标签: php arrays wordpress foreach