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产生随机字符串函数
Dec 06 PHP
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
PHP return语句的另一个作用
Jul 30 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 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
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
Python中pass的作用与使用教程
2020/11/13 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
中学老师的自我评价
2013/11/07 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书