php对数组内元素进行随机调换的方法

2015-05-133lian8 的分享   加三联MM小编微信好友:sanlian2018

   本文实例讲述了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程序设计有所帮助。

TA发布的帖子

606

收藏

605