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
How do I change MySQL timezone?
Mar 26 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
php获取汉字首字母的函数
Nov 07 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
php创建session的方法实例详解
Jan 27 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
CodeIgniter钩子用法实例详解
Jan 20 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
php实现二叉树中和为某一值的路径方法
Oct 14 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
解析isset与is_null的区别
2013/08/09 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
取选中的radio的值
2010/01/11 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
一套C++笔试题面试题
2012/06/06 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
感恩教师节演讲稿
2014/09/03 职场文书
教师个人考察材料
2014/12/16 职场文书
感谢信范文大全
2015/01/23 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python