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抓即时股票信息
Oct 09 PHP
第十二节--类的自动加载
Nov 16 PHP
一个PHP日历程序
Dec 06 PHP
php 中文处理函数集合
Aug 27 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
php实现httpclient类示例
Apr 08 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
在php中设置session用memcache来存储的方法总结
Jan 14 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
十天学会php(3)
2006/10/09 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
PHP代码优化技巧小结
2015/09/29 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
一端时间轮换的广告
2006/06/26 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
深入理解es6块级作用域的使用
2019/03/28 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python定时执行之Timer用法示例
2015/05/27 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
python实现加密的方式总结
2020/01/19 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
指针和引用有什么区别
2013/01/13 面试题
大学生求职信范文应怎么写
2014/01/01 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
教学督导岗位职责
2015/04/10 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python