好的,很抱歉生病重写这个,因为我试图用一个简单的例子,但我相信它更复杂,所以即时通讯设法让所有符合特定条件的用户,然后把它们放入一个数组,在此之后洗牌顺序并将用户放在数组块中。如何访问多维数组内部的值php
从那里即时通讯做一个if/else语句说,如果每块充满不存在的ID,但即时通讯有麻烦的ID:
//Get all users who are eligable
$eligable_users = get_users('meta_key=eligable&meta_value=1');
//Set all eligable users into an array
$eligable_user_array = array();
foreach ($eligable_users as $users) {
$eligable_user_array[] = $users;
}
//Shuffle users among arrays
shuffle($eligable_user_array);
//Change this to adjust chunk size
$winning_array_chunk_size = 2;
//Create array chunks
$array_chunk = array_chunk($eligable_user_array , $winning_array_chunk_size , false);
//Foreach array chunk
foreach($array_chunk as $individual_winner_chunk) {
//If a chunk isnt filled igonre
if(sizeof($individual_winner_chunk) < $winning_array_chunk_size) {
//Users in this chunk arnt entered into prize draw
}
//For each filled chunk get a user
else{
//print_r($individual_winner_chunk);
//Get randomised users from each chunk
$random_user_from_chunk = array_rand($individual_winner_chunk , 1);
foreach($random_user_from_chunk as $userchunk){
echo $userchunk->data->ID;
}
}
这不是输出正确的部分:
回声$ userchunk-> DATA-> ID;
的输出是什么?请将其添加到问题中。 – Kris
输出为仅仅指刚空白但是如果我取消注释的print_r在该输出看起来象底部: rray ( [0] => WP_User对象 ( [数据] => stdClass的对象 ( [ID] => 7 – Dgeorgex000000
问题是你如何使用array_rand。请检查编辑答案。 – Kris