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


Posted in PHP onMay 12, 2015

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

PHP 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
用定制的PHP应用程序来获取Web服务器的状态信息
Oct 09 PHP
php防注
Jan 15 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
Chrome Web App开发小结
Sep 04 PHP
php使用google地图应用实例
Dec 31 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 PHP
PHP sdk实现在线打包代码示例
Dec 09 PHP
PHP SplObjectStorage使用实例
May 12 #PHP
PHP中预定义的6种接口介绍
May 12 #PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 #PHP
PHP 反射(Reflection)使用实例
May 12 #PHP
PHP Reflection API详解
May 12 #PHP
php通过curl模拟登陆DZ论坛
May 11 #PHP
PHP中的魔术方法总结和使用实例
May 11 #PHP
You might like
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
详解php中反射的应用
2016/03/15 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
js location.replace与location.reload的区别
2010/09/08 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python如何构建mock接口服务
2021/01/28 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
学年自我鉴定范文
2013/10/01 职场文书
医学院学生求职简历的自我评价
2013/10/24 职场文书
小学新学期教师寄语
2014/01/18 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
80后婚前协议书范本
2014/10/24 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android