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 动态多文件上传
Jan 18 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
Jul 02 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
Yii分页用法实例详解
Dec 04 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
php生成高清缩略图实例详解
Dec 07 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
PHP中文竖排转换实现方法
2015/10/23 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
python笔记(2)
2012/10/24 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
python 获取url中的参数列表实例
2018/12/18 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
Python换行与不换行的输出实例
2020/02/19 Python
Python如何操作docker redis过程解析
2020/08/10 Python
python time.strptime格式化实例详解
2021/02/03 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
SQL面试题
2013/12/09 面试题
ddl,dml和dcl的含义
2016/05/08 面试题
公司投资建议书
2014/05/16 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
李强优秀员工观后感
2015/06/16 职场文书
公证书
2019/04/17 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers