Heim >php教程 >php手册 >php对数组内元素进行随机调换的方法

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

WBOY
WBOYOriginal
2016-06-13 09:04:20975Durchsuche

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程序设计有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn