【发布时间】:2023-03-24 02:12:02
【问题描述】:
好吧抱歉我重写了这个,因为我试图使用一个简化的例子,但我相信它更复杂,所以我试图让所有满足特定条件的用户,然后把它们放在一个数组中,然后打乱顺序和将用户放入数组块中。
从那里我做了一个 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;
}
}
这是输出不正确的部分:
echo $userchunk->数据->ID;
【问题讨论】:
-
输出是什么?请将其添加到问题中。
-
输出是空白,但是如果我取消注释底部的 print_r,输出看起来像: rray ( [0] => WP_User Object ( [data] => stdClass Object ( [ID] => 7
-
问题是你如何使用array_rand。请检查编辑后的答案。
标签: php arrays wordpress multidimensional-array