php对数组内元素进行随机调换的方法
php对数组内元素进行随机调换的方法
本文实例讲述了php对数组内元素进行随机调换的方法。分享给大家供大家参考。具体分析如下:
这是一个自定义的php数组元素随机调换的函数,php已经有一个内置的同样功能的函数shuffle($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 |
// 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 a 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 */ |
希望本文所述对大家的php程序设计有所帮助。