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中的字符串函数
Nov 24 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
PHP中的Memcache详解
Apr 05 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 PHP
php微信支付之APP支付方法
Mar 04 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 PHP
php文件上传、下载和删除示例
Aug 28 PHP
Yii2 queue的队列使用详解
Jul 19 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
关于手调机和数调机的选择
2021/03/02 无线电
PHP date函数参数详解
2006/11/27 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
Prototype Class对象学习
2009/07/19 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
Python列表推导式实现代码实例
2020/09/09 Python
消防应急演练方案
2014/02/12 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
毕业评语大全
2014/05/04 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB
MySQL数据库查询之多表查询总结
2022/08/05 MySQL