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 相关文章推荐
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
php跨域cookie共享使用方法
Feb 20 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
php图片添加文字水印实现代码
Mar 15 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 PHP
php命名空间设计思想、用法与缺点分析
Jul 17 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中cookie的使用方法
2014/03/29 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
判定是否原生方法的JS代码
2013/11/12 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
layui分页效果实现代码
2017/05/19 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
医院后勤自我鉴定
2013/10/13 职场文书
班组拓展活动方案
2014/08/14 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
如何用PHP websocket实现网页实时聊天
2021/05/26 PHP
MySql开发之自动同步表结构
2021/05/28 MySQL
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
如何在Python中妥善使用进度条详解
2022/04/05 Python
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js