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新手上路(九)
Oct 09 PHP
php调用mysql数据 dbclass类
May 07 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
PHP队列用法实例
Nov 05 PHP
smarty中post用法实例
Nov 28 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
PHP+Oracle本地开发环境搭建方法详解
Apr 01 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 面向对象 final类与final方法
2010/05/05 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
PHP实现递归的三种方法
2020/07/04 PHP
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
python中enumerate函数用法实例分析
2015/05/20 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
UNIX命令速查表
2012/03/10 面试题
幼儿园毕业园长感言
2014/02/24 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
企业总经理任命书
2014/06/05 职场文书
小学课外阅读总结
2014/07/09 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
邹越演讲观后感
2015/06/15 职场文书
画展观后感
2015/06/17 职场文书