当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-26 16:08:27 浏览: 评论:0 

这篇文章主要介绍了php对数组内元素进行随机调换的方法,通过自定义函数实现对数组内元素进行随机调换的功能,涉及php操作数组的相关技巧,需要的朋友可以参考下

本文实例讲述了php对数组内元素进行随机调换的方法,分享给大家供大家参考,具体分析如下:

这是一个自定义的php数组元素随机调换的函数,php已经有一个内置的同样功能的函数shuffle($Array),这个代码权当参考。

  1. // I noticed that there is already a built-in function that 
  2. // does the same - so don't use mine ;-) 
  3. // 
  4. // --> shuffle($Array); 
  5. // 
  6. // http://de2.php.net/manual/de/function.shuffle.php 
  7. // 
  8. function RandomizeArray($array){ 
  9.   // error check: 
  10.   $array = (!is_array($array)) ? array($array) : $array
  11.   $a = array(); 
  12.   $max = count($array) + 10; 
  13.   while(count($array) > 0){     
  14.     $e = array_shift($array); 
  15.     $r = rand(0, $max); 
  16.     // find a empty key: 
  17.     while (isset($a[$r])){ 
  18.       $r = rand(0, $max); 
  19.     }     
  20.     $a[$r] = $e
  21.   } 
  22.   ksort($a); 
  23.   $a = array_values($a); 
  24.   return $a

使用范例:

  1. /* 
  2. ** Example: 
  3. */ 
  4. $test_array = array('why','dont','visit','www','jonas','john','de',':-)'); 
  5. print implode(", "$test_array); 
  6. print "\n"
  7. print implode(", ", RandomizeArray($test_array)); 
  8. /* 
  9. Example output: 
  10. why, dont, visit, www, jonas, john, de, :-) 
  11. www, de, jonas, john, visit, why, :-), dont 
  12. */ 

希望本文所述对大家的php程序设计有所帮助。

Tags: php数组随机调换

分享到: