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 相关文章推荐
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
如何使用FireFox插件FirePHP调试PHP
Jul 23 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
php操作MongoDB类实例
Jun 17 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
彻底搞懂PHP 变量结构体
Oct 11 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 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学习 运算符与运算符优先级
2008/06/15 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
python中私有函数调用方法解密
2016/04/29 Python
一份python入门应该看的学习资料
2018/04/11 Python
python实现定时提取实时日志程序
2018/06/22 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Python笔记之facade模式
2019/11/20 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
《生命的药方》教学反思
2014/04/08 职场文书
小学生操行评语
2014/04/22 职场文书
甜品店创业计划书
2014/08/14 职场文书
安全承诺书
2015/01/19 职场文书
Python学习开发之图形用户界面详解
2021/08/23 Python
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android