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脚本的10个技巧(6)
Oct 09 PHP
PHP查询网站的PR值
Oct 30 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
php使用Session和文件统计在线人数
Jul 04 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP中的self关键字详解
Jun 23 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 PHP
PHP之header函数详解
Mar 02 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
php 邮件发送问题解决
2014/03/22 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
js中的闭包学习心得
2018/02/06 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python 初始化一个定长的数组实例
2019/12/02 Python
浅析NumPy 切片和索引
2020/09/02 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
GWT都有什么特性
2016/12/02 面试题
团支书的期末学习总结自我评价
2013/11/01 职场文书
保荐人的岗位职责
2013/11/19 职场文书
会计员岗位职责
2014/03/15 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
领导欢迎词致辞
2015/01/23 职场文书
三潭印月的导游词
2015/02/12 职场文书
社区党支部承诺书
2015/04/29 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技