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+mysql)
Nov 23 PHP
php+javascript的日历控件
Nov 19 PHP
PHPMYADMIN 简明安装教程 推荐
Mar 07 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
PHP中余数、取余的妙用
Jun 29 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
PHP实现负载均衡下的session共用功能
Apr 17 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 PHP
php实现根据身份证获取精准年龄
Feb 26 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
附件名前加网站名
2008/03/23 PHP
yii中widget的用法
2014/12/03 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
总结一些js自定义的函数
2006/08/05 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
常用简易JavaScript函数
2009/04/09 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
几种响应式文字详解
2017/05/19 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
python中Apriori算法实现讲解
2017/12/10 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
Linux上比较文件的命令都有哪些
2013/09/28 面试题
物业工作计划书
2014/01/10 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
Elasticsearch 基本查询和组合查询
2022/04/19 Python
centos7安装mysql5.7经验记录
2022/05/02 Servers