Array
(
[0] => Array
(
[mt_id] => 7
[user_id] => 5553
) [1] => Array
(
[mt_id] => 6
[user_id] => 5553
) [2] => Array
(
[mt_id] => 3
[user_id] => 5555
) [3] => Array
(
[mt_id] => 2
[user_id] => 5556
) [4] => Array
(
[mt_id] => 1
[user_id] => 5559
))
去掉user_id重复的值
$a = array(
0 => array('mt_id' => 7, 'user_id' => 5553),
1 => array('mt_id' => 6, 'user_id' => 5553),
2 => array('mt_id' => 3, 'user_id' => 5555),
3 => array('mt_id' => 2, 'user_id' => 5556),
4 => array('mt_id' => 1, 'user_id' => 5559)
);
$b = array();
foreach($a as $k => $v){
$b[$v['user_id']] = $v;
}
echo '<pre>';print_r(array_values($b));/*
Array
(
[0] => Array
(
[mt_id] => 6
[user_id] => 5553
) [1] => Array
(
[mt_id] => 3
[user_id] => 5555
) [2] => Array
(
[mt_id] => 2
[user_id] => 5556
) [3] => Array
(
[mt_id] => 1
[user_id] => 5559
))
*/
$arr=array (
array ( 'mt_id' => 7 ,'user_id' => 5553 ),
array ( 'mt_id' => 6 ,'user_id' => 5553 ) ,
array ( 'mt_id' => 3, 'user_id' => 5555 ) ,
array ( 'mt_id' => 2 ,'user_id' => 5556 ) ,
array ( 'mt_id' => 1, 'user_id' => 5559 )
) ;
$ar=array();
$tem=array();
foreach($arr as $v){
if(!isset($tem[$v['user_id']])){
$tem[$v['user_id']]=$v;
$ar[]=$v;
}
}
print_r($ar);Array
(
[0] => Array
(
[mt_id] => 7
[user_id] => 5553
) [1] => Array
(
[mt_id] => 3
[user_id] => 5555
) [2] => Array
(
[mt_id] => 2
[user_id] => 5556
) [3] => Array
(
[mt_id] => 1
[user_id] => 5559
))
do{
$new_user = array_rand($res_user,$win_count - count($end_arr));
array_push($end_arr,$new_user); /* 去除重复值 */
$ar=array();
$tem=array();
foreach($end_arr as $v){
if(!isset($tem[$v['user_id']])){
$tem[$v['user_id']]=$v;
$ar[]=$v;
}
}
$end_arr = $ar;
}while ($win_count - count($end_arr));
do{
$new_user = array_rand($res_user,$win_count - count($end_arr));
array_push($end_arr,$new_user); /* 去除重复值 */
$ar=array();
$tem=array();
foreach($end_arr as $v){
if(!isset($tem[$v['user_id']])){
$tem[$v['user_id']]=$v;
$ar[]=$v;
}
}
$end_arr = $ar;
}while ($win_count - count($end_arr));
do{
$new_user = array_rand($res_user,$win_count - count($end_arr));
array_push($end_arr,$new_user); /* 去除重复值 */
$ar=array();
$tem=array();
foreach($end_arr as $v){
if(!isset($tem[$v['user_id']])){
$tem[$v['user_id']]=$v;
$ar[]=$v;
}
}
$end_arr = $ar;
}while ($win_count - count($end_arr));
}while ($win_count - count($end_arr));改成
}while ($win_count - 3);
之后正常
do{
$new_user = array_rand($res_user,$win_count - count($end_arr));
foreach($new_user as $v)){
$mid_arr[] = $new_user[$v];
}
array_push($end_arr,$mid_arr); /* 去除重复值 */
$ar=array();
$tem=array();
foreach($end_arr as $v){
if(!isset($tem[$v['user_id']])){
$tem[$v['user_id']]=$v;
$ar[]=$v;
}
}
$end_arr = $ar;
}while ($win_count - count($end_arr));
array ( 'mt_id' => 7 ,'user_id' => 5553 ),
array ( 'mt_id' => 6 ,'user_id' => 5553 ) ,
array ( 'mt_id' => 3, 'user_id' => 5555 ) ,
array ( 'mt_id' => 2 ,'user_id' => 5556 ) ,
array ( 'mt_id' => 1, 'user_id' => 5559 )
) ;$win_count = 3;
$end_arr =array();
do{
$new_user = array_rand($res_user,$win_count - count($end_arr) || 1);
if(! is_array($new_user)) $new_user = array($new_user);
foreach($new_user as $k) $end_arr[] = $res_user[$k]; /* 去除重复值 */
$ar=array();
$tem=array();
foreach($end_arr as $v){
if(!isset($tem[$v['user_id']])){
$tem[$v['user_id']]=$v;
$ar[]=$v;
}
}
$end_arr = $ar;
}while ($win_count - count($end_arr));
$data=array (
array ( 'mt_id' => 7 ,'user_id' => 5553 ),
array ( 'mt_id' => 6 ,'user_id' => 5553 ) ,
array ( 'mt_id' => 3, 'user_id' => 5555 ) ,
array ( 'mt_id' => 2 ,'user_id' => 5556 ) ,
array ( 'mt_id' => 1, 'user_id' => 5559 )
) ;$tmp=array();
foreach($data as $k => $v){
if(in_array($tmp,$v['user_id'])){
unset($data[$k]);
}else{
$tmp[]=$v;
}
}
print_r($data);
if(! is_array($new_user)) $new_user = array($new_user);看来这个判断至关重要,结贴