php打乱数组二维数组多维数组的简单实例


Posted in PHP onJune 17, 2016

php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了

<?php 
function shuffle_assoc($list) { 
 if (!is_array($list)) return $list; 
 $keys = array_keys($list); 
 shuffle($keys); 
 $random = array(); 
 foreach ($keys as $key) 
  $random[$key] = $list[$key]; 
 return $random; 
} 
?>

上面这个是针对二维数组的!

下面针对多维数组的乱序方法?尽可能的方便快速

<?php 
function shuffle_assoc($list) { 
if (!is_array($list)) return $list; 

$keys = array_keys($list); 
shuffle($keys); 
$random = array(); 
foreach ($keys as $key) 
$random[$key] = shuffle_assoc($list[$key]); 

return $random; 
} 
?>

以下函数也是出自php手册,可以打乱多维数组:

/**
* Shuffles an associative array recursive
* 
* @param array $array
* @return array
*
*/

function rec_assoc_shuffle($array)
{
 $ary_keys = array_keys($array);
 $ary_values = array_values($array);
 shuffle($ary_values);
 foreach($ary_keys as $key => $value) {
  if (is_array($ary_values[$key]) AND $ary_values[$key] != NULL) {
   $ary_values[$key] = rec_assoc_shuffle($ary_values[$key]);
  }
  $new[$value] = $ary_values[$key];
 }
 return $new;
}

以上就是小编为大家带来的php打乱数组二维数组多维数组的简单实例全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
PHP 文件上传全攻略
Apr 28 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
apache php模块整合操作指南
Nov 16 PHP
php检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
php环境无法上传文件的解决方法
Apr 30 PHP
PHP中实现crontab代码分享
Mar 26 PHP
php计算整个目录大小的方法
Jun 19 PHP
PHP json_encode() 函数详解及中文乱码问题
Nov 05 PHP
PHP浮点比较大小的方法
Feb 14 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 #PHP
PHP 数组基本操作方法详解
Jun 17 #PHP
全面了解PHP中的全局变量
Jun 17 #PHP
浅析PHP7新功能及语法变化总结
Jun 17 #PHP
PHP设计模式之迭代器模式
Jun 17 #PHP
浅析PHP中的i++与++i的区别及效率
Jun 15 #PHP
学习PHP session的传递方式
Jun 15 #PHP
You might like
PHP多线程之内部多线程实例分析
2015/03/09 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
Python3写入文件常用方法实例分析
2015/05/22 Python
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python探索之修改Python搜索路径
2017/10/25 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
python包的导入方式总结
2021/03/02 Python
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
工程力学专业毕业生求职信
2013/10/06 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
党员公开承诺事项
2014/03/25 职场文书
音乐学专业求职信
2014/07/22 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript