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 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
使用apache模块rewrite_module (转)
Feb 14 PHP
轻松修复Discuz!数据库
May 03 PHP
坏狼php学习 计数器实例代码
Jun 15 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
php实现短信发送代码
Jul 05 PHP
php开发工具有哪五款
Nov 09 PHP
thinkPHP实现的联动菜单功能详解
May 05 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版QQ互联OAuth示例代码分享
2015/07/05 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
jQuery事件对象总结
2016/10/17 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
JS二分查找算法详解
2017/11/01 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python正则表达式经典入门教程
2017/05/22 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python pandas 时间日期的处理实现
2019/07/30 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
大学生村官心得体会范文
2014/01/04 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
交通事故协议书
2014/04/15 职场文书
学雷锋宣传标语
2014/06/25 职场文书
体育教师求职信
2014/06/30 职场文书
nginx配置之并发频次限制
2022/04/18 Servers
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL