This article describes how PHP randomly swaps elements in an array. Share it with everyone for your reference. The specific analysis is as follows:
This is a custom PHP function that randomly swaps array elements. PHP already has a built-in function shuffle($Array) with the same function. Please refer to
for this code.?
2 3
4 56 13 14 |
// I noticed that there is already a built-in function that // does the same - so don't use mine ;-) // // --> shuffle($Array); // // http://de2.php.net/manual/de/function.shuffle.php // function RandomizeArray($array){ // error check: $array = (!is_array($array)) ? array($array) : $array; $a = array(); $max = count($array) 10; while(count($array) > 0){ $e = array_shift($array); $r = rand(0, $max); // find an empty key: while (isset($a[$r])){ $r = rand(0, $max); } $a[$r] = $e; } ksort($a); $a = array_values($a); return $a; } |
1 2 3 4 5 6 7 8 9 10 11 12 | /* ** Example: */ $test_array = array('why','dont','visit','www','jonas','john','de',':-)'); print implode(", ", $test_array); print "n"; print implode(", ", RandomizeArray($test_array)); /* Example output: why, dont, visit, www, jonas, john, de, :-) www, de, jonas, john, visit, why, :-), dont */ |