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和ACCESS写聊天室(九)
Oct 09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
PHP 透明水印生成代码
Aug 27 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
php给图片加文字水印
Jul 31 PHP
PHP类的封装与继承详解
Sep 29 PHP
PHP打印输出函数汇总
Aug 28 PHP
PHP测试框架PHPUnit组织测试操作示例
May 28 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
中国的第一台收音机
2021/03/01 无线电
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
python requests.post带head和body的实例
2019/01/02 Python
python 为什么说eval要慎用
2019/03/26 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
python多进程并发demo实例解析
2019/12/13 Python
pymysql的简单封装代码实例
2020/01/08 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
上学迟到的检讨书
2014/01/11 职场文书
护士自我鉴定总结
2014/03/24 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android