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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
社区(php&amp;&amp;mysql)五
Oct 09 PHP
php 代码优化之经典示例
Mar 24 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
Apr 09 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
Feb 26 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
第三节--定义一个类
2006/11/16 PHP
使用PHP批量生成随机用户名
2008/07/10 PHP
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
深入PHP异步执行的详解
2013/06/03 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
Python实现去除代码前行号的方法
2015/03/10 Python
Python中的模块和包概念介绍
2015/04/13 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
python 使用shutil复制图片的例子
2019/12/13 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
新闻编辑自荐信
2013/11/03 职场文书
运动会表扬稿大全
2014/01/16 职场文书
简单的辞职信范文
2014/01/18 职场文书
项目经理任命书
2014/06/04 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
MySQL七大JOIN的具体使用
2022/02/28 MySQL
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技