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中extract()函数的定义和用法
Aug 17 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
php购物车实现方法
Jan 03 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
php实现json编码的方法
Jul 30 PHP
深入探究PHP的多进程编程方法
Aug 18 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
PHP简单日历实现方法
Jul 20 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 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/04 新手入门
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
Python中的random()方法的使用介绍
2015/05/15 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python爬虫增加访问量的方法
2019/08/22 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
业务员薪酬管理制度
2014/01/15 职场文书
初中考试作弊检讨书
2014/02/01 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
单位计划生育责任书
2015/05/09 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书