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垃圾代码优化操作代码
Aug 05 PHP
三种php连接access数据库方法
Nov 11 PHP
Windows7下的php环境配置教程
Feb 28 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
PHP基于PDO扩展操作mysql数据库示例
Dec 24 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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动态创建Flash动画
2006/10/09 PHP
php日历[测试通过]
2008/03/27 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
详解python中的lambda与sorted函数
2020/09/04 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
Python request post上传文件常见要点
2020/11/20 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
香港零食网购:上仓胃子
2020/06/08 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
什么是serialVersionUID
2016/03/04 面试题
社会调查研究计划书
2014/05/01 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android