PHP beginner |
|
ik heb wat in elkaar gezet:
<?php
function sort_real($array_1,$array_2) {
shuffle($array_2);
$valid = true;
$output = array();
for ($i=0;$i<sizeof($array_1);$i++) {
if ($array_1[$i]==$array_2[$i]) {
$valid = false;
} else {
$output[$array_1[$i]] = $array_2[$i];
}
}
if ($valid) {
return $output;
} else {
return sort_real($array_1,$array_2);
}
}
$array = array(1,2,3,4);
$arr = sort_real($array, $array);
print_r($arr);
/* aantal outputs:
* Array ( [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
* Array ( [1] => 4 [2] => 3 [3] => 1 [4] => 2 )
* Array ( [1] => 2 [2] => 3 [3] => 4 [4] => 1 )
*/
?>
<?php function sort_real($array_1,$array_2) { $valid = true; for ($i=0;$i<sizeof($array_1);$i++) { if ($array_1[$i]==$array_2[$i]) { $valid = false; } else { $output[$array_1[$i]] = $array_2[$i]; } } if ($valid) { return $output; } else { return sort_real($array_1,$array_2); } } $arr = sort_real($array, $array); /* aantal outputs: * Array ( [1] => 4 [2] => 3 [3] => 2 [4] => 1 ) * Array ( [1] => 4 [2] => 3 [3] => 1 [4] => 2 ) * Array ( [1] => 2 [2] => 3 [3] => 4 [4] => 1 ) */ ?>
Als hij niet goed is, dan roept hij zichzelf weer aan.
Met 3 array waardes roept hij zichzelf soms 5 keer opnieuw aan,
Met 4 array waardes roept hij zichzelf soms 3 keer aan.
Er is een theorie dat hij zichzelf soms 100den keren kan aanroepen, dus ik misschien niet heel veilig, maar het lost wel je probleem op denk ik |