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