php对数组内元素进行随机调换的方法
这篇文章主要介绍了php对数组内元素进行随机调换的方法,通过自定义函数实现对数组内元素进行随机调换的功能,涉及php操作数组的相关技巧,需要的朋友可以参考下
本文实例讲述了php对数组内元素进行随机调换的方法,分享给大家供大家参考,具体分析如下:
这是一个自定义的php数组元素随机调换的函数,php已经有一个内置的同样功能的函数shuffle($Array),这个代码权当参考。
- // 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;
- }
使用范例:
- /*
- ** 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程序设计有所帮助。