<?php
$old_arr = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40);
$size = count($old_arr);
for($i=0;$i<=39;$i++){
if ($i<=7){
$a[] = $old_arr[$i];
}elseif ($i>7 && $i<=15){
$b[] = $old_arr[$i];
}elseif ($i>15 && $i<=23){
$c[] = $old_arr[$i];
}elseif ($i>23 && $i<=31){
$d[] = $old_arr[$i];
}
elseif ($i>31){
$e[] = $old_arr[$i];
}
}
print_r($a);
print_r($b);
print_r($c);
print_r($d);
print_r($e);
$new_arr = array();
$group_order[] = array();
unset($group_order[0]);
$group_order = array_values($group_order);
$temp = 0;
while(count($new_arr)<$size){
if (!empty($group_order)){
$temp = $group_order[4];
}
foreach ($group_order as $i => $value) {
unset($group_order[$i]);
}
$group_order = array_values($group_order);
while(count($group_order)<5){
$x=mt_rand(1,5);
if(in_array($x,$group_order) == false && $x != $temp){
$group_order[] = $x;
$temp = 0;
}
}
print_r($group_order);
foreach ($group_order as $value){
if ($value == 1){
$idx = mt_rand(0,(count($a)-1));
$new_arr[] = $a[$idx];
unset($a[$idx]);
$a = array_values($a);
}elseif ($value == 2){
$idx = mt_rand(0,(count($b)-1));
$new_arr[] = $b[$idx];
unset($b[$idx]);
$b = array_values($b);
}elseif ($value == 3){
$idx = mt_rand(0,(count($c)-1));
$new_arr[] = $c[$idx];
unset($c[$idx]);
$c = array_values($c);
}elseif ($value == 4){
$idx = mt_rand(0,(count($d)-1));
$new_arr[] = $d[$idx];
unset($d[$idx]);
$d = array_values($d);
}elseif ($value == 5){
$idx = mt_rand(0,(count($e)-1));
$new_arr[] = $e[$idx];
unset($e[$idx]);
$e = array_values($e);
}
}
}
print_r($new_arr);
?>
preferences:
31.44 ms | 402 KiB | 5 Q