问题缩小到以下几点:
我有两个数组:user_in_need
和active_users
. user_in_need
是 的子集active_users
。
Array ( [1] [2] [3] [4] [5] [6] [7] [8] [9] ) // active_users
Array ( [3] [7] [9] ) // user_in_need
我需要user_in_need
从active_users
数组中随机分配给每个合作伙伴。一个警告,我不能让用户被指定为合作伙伴。
这是我所能得到的[不起作用]:
$partners = array();
foreach ($user_in_need as $value) {
$key = array_search($value, $active_users);
unset($active_users[$key]);
shuffle($active_users);
$newpartner = end($active_users);
$partners[$value] = $newpartner;
$user = $value;
$query = "UPDATE users SET target=:partner WHERE uid=:uid";
$query_params = array(':partner' => $newpartner, ':uid' => $user );
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}