我试图在用户数组上做一个foreach循环,然后从每5个用户中随机选择1个用户,并再次使用结果显示那里的用户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>";
}
}
第二个循环实际上没有意义,因为您将返回单个结果。当array_rand()
只有一个结果时,它会返回一个键,而不是一个数组。
当只选择一个条目时,
array_rand()
返回随机条目的键。否则,返回随机条目的键数组。来源:php.net/array-rand
foreach($user_chunks as $individual_user_chunk) {
$random_result = array_rand($individual_user_chunk ,1);
echo $individual_user_chunk[$random_result]->ID . "<br>";
}
$chunks = array_chunk($eligable_users, 5);
foreach($chunks as $chunk) {
$r = array_rand($chunk);
$user = $chunk[$r];
echo $user->ID . "</br>";
}