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 相关文章推荐
最小化数据传输――在客户端存储数据
Oct 09 PHP
桌面中心(四)数据显示
Oct 09 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
php简单日历函数
Oct 28 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
PHP随机数函数rand()与mt_rand()的讲解
Mar 25 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中使用接口实现工厂设计模式的代码
2012/06/17 PHP
深入php 正则表达式的学习探讨
2013/06/06 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
js实现多图和单图上传显示
2019/12/18 Javascript
Vue的data、computed、watch源码浅谈
2020/04/04 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
解决Python传递中文参数的问题
2015/08/04 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python对象转JSON字符串的方法
2016/04/27 Python
一份python入门应该看的学习资料
2018/04/11 Python
python实现字符串和字典的转换
2018/09/29 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
计算机科学系职业生涯规划书
2014/03/08 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
主婚人致辞精选
2015/07/28 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS