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动态生成JavaScript代码
Mar 09 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php 仿Comsenz安装效果代码打包提供下载
May 09 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
php除数取整示例
Apr 24 PHP
destoon二次开发常用数据库操作
Jun 21 PHP
php中多维数组按指定value排序的实现代码
Aug 19 PHP
PHP图像处理类库及演示分享
May 17 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
php插件Xajax使用方法详解
Aug 31 PHP
一文搞懂php的垃圾回收机制
Jun 18 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
使用python3实现操作串口详解
2019/01/01 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
2019/10/17 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
python脚本和网页有何区别
2020/07/02 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
入党申请人的自我鉴定
2013/12/01 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
团组织推优材料
2014/12/29 职场文书
工作犯错保证书
2015/05/11 职场文书
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript