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获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
php自定义函数转换html标签示例
Sep 29 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 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下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php不写闭合标签的好处
2014/03/04 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
Python中%r和%s的详解及区别
2017/03/16 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
房屋过户委托书范本
2014/10/07 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
机器人总动员观后感
2015/06/09 职场文书
董事长新年致辞
2015/07/29 职场文书
运动会100米广播稿
2015/08/19 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏