<?php
$old_arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
$size = count($old_arr);
print_r($size);
for($i=0;$i<=19;$i++){
if ($i<=4){
$a[] = $old_arr[$i];
}elseif ($i>4 && $i<=9){
$b[] = $old_arr[$i];
}elseif ($i>9 && $i<=14){
$c[] = $old_arr[$i];
}elseif ($i>14){
$d[] = $old_arr[$i];
}
}
print_r($a);
print_r($b);
print_r($c);
print_r($d);
while(count($new_arr)<$size){
$group_order[] = mt_rand(1,4);
while(count($group_order)<4){
$x=mt_rand(1,4);
if(in_array($x,$group_order) == false){
$group_order[] = $x;
}
}
foreach ($group_order as $value){
if ($value == 1){
$idx = mt_rand(0,(count($a)-1));
$new_arr[] = $a[$idx];
unset($a[$idx]);
}elseif ($value == 2){
$idx = mt_rand(0,(count($b)-1));
$new_arr[] = $b[$idx];
unset($b[$idx]);
}elseif ($value == 3){
$idx = mt_rand(0,(count($c)-1));
$new_arr[] = $c[$idx];
unset($c[$idx]);
}elseif ($value == 4){
$idx = mt_rand(0,(count($d)-1));
$new_arr[] = $d[$idx];
unset($d[$idx]);
}
}
}
print_r($new_arr);
?>
preferences:
30.6 ms | 402 KiB | 5 Q