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之第二天
Oct 09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
php中的观察者模式简单实例
Jan 20 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
php远程下载类分享
Apr 13 PHP
CI框架简单邮件发送类实例
May 18 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
php-fpm添加service服务的例子
Apr 27 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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 $_FILES函数详解
2011/03/09 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
python opencv设置摄像头分辨率以及各个参数的方法
2018/04/02 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
python 读取数据库并绘图的实例
2019/12/03 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
什么是.net
2015/08/03 面试题
网络技术支持面试题
2013/04/22 面试题
职务聘任书范文
2014/03/29 职场文书
电子商务专业求职信
2014/07/10 职场文书
监察建议书
2015/02/04 职场文书
酒店员工手册范本
2015/05/14 职场文书
美丽人生观后感
2015/06/03 职场文书
订货会主持词
2015/07/01 职场文书
年终工作总结范文
2019/06/20 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
Mysql MVCC机制原理详解
2021/04/20 MySQL
Java线程的6种状态与生命周期
2022/05/11 Java/Android