php打乱数组二维数组多维数组的简单实例
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按指定键值对二维数组进行排序的方法.分享给大家供大家参考,具体如下: 问题: 有数组: 复制代码 代码如下: array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60)); 要求根据数组的price这个字段进行排序. 实现代码如下: <?php $array[] = array('id'=>1,'price'=>50); $array[] = array('id
-
PHP二维数组排序简单实现方法
本文实例讲述了PHP二维数组排序简单实现方法.分享给大家供大家参考,具体如下: function multi_compare($a, $b) { $val_arr = array( 'gold'=>'asc', 'silver'=>'desc'//还可以增加额外的排序条件 ); foreach($val_arr as $key => $val){ if($a[$key] == $b[$key]){ continue; } return (($val == 'desc')?-1:1) *
-
php将一维数组转换为每3个连续值组成的二维数组
本文实例讲述了php实现将一维数组转换为每3个连续值组成的二维数组.分享给大家供大家参考,具体如下: <?php $aaa = array('aa','bb','cc','dd','ee','ff','gg','hh','ii'); for($i=0;$i<3;$i++) { $bbb[] = array_slice($aaa, $i * 3 ,3); } print_r($bbb); ?> 运行结果如下: Array ( [0] => Array ( [0] => aa [
-
PHP中使用foreach()遍历二维数组的简单实例
第一种类型 想用foreach()遍历整个二维数组: $team = array('lk','ok'); $book = array('linux服务器配置与管理',$team); foreach($book as $k=>$val) //for $book each $value( as ) echo $k.'=>'.$val.''; 输出结果是: 0=>linux服务器配置与管理 1=>Array 当然,其实我是想要所有具体内容,而不是输出array... 所以应该采用如下做法
-
PHP 二维数组和三维数组的过滤
废话不多说了,直接给大家贴代码了,具体代码如下所示: <?php $arr = [ [,,,,], [,,,,] ]; $arr = [ 'list' => [ [,,,], [,,,], [,,,], ] ]; $arr = [ 'list' => [ [,,,], [,,,], [,,,] ] ]; $res = array_map(function($arr){ return array_filter($arr, function($v) { return $v !== ; });
-
PHP二维数组矩形转置实例
PHP二维数组矩形转置实例 <?php //二维数组转置 //定义一个二维数组 $arr =array(array(1,2,3),array(4,5,6)); //定义一个数组来放置转置的数据 $arr1=array(); //转置前遍历 echo "转置前:<br/>"; for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr[$i]);$j++){ echo $arr[$i][$j]; } echo
-
PHP将二维数组某一个字段相同的数组合并起来的方法
本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法.分享给大家供大家参考,具体如下: 例子: array(3) { [0]=> array(16) { ["id"]=> string(2) "42" ["uid"]=> string(2) "14" ["euid"]=> string(2) "56" ["did"]=> st
-
PHP获取二维数组中某一列的值集合
PHP还是比较常用的,于是我研究了一下PHP二维数组.在处理php数组的时候,有一种需求特别的频繁,如下二维数组: $arr = array( 1=>array( 'id' => 5, 'name' => '张三' ), 2=>array( 'id' => 6, 'name' => '李四' ) ); 目的就是要取到key为name的集合,得到这个结果: $arr2 = array( 0=>'张三', 1=>'李四' ); 这里有几种方法: 1:最简单的,f
-
PHP list() 将数组中的值赋给变量的简单实例
list() PHP list() 用一步操作把数组中的值赋给一些变量.同 array() 一样,list() 不是真正的函数,而是语言结构. 语法: void list( mixed var, mixed ... )注意: list() 仅能用于数字索引的数组并假定数字索引从 0 开始. 例子1: <?php $arr_age = array(18, 20, 25); list($wang, $li, $zhang) = $arr_age; echo $wang; //输出:18 echo $
-
php打乱数组二维数组多维数组的简单实例
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
-
Thinkphp将二维数组变为标签适用的一维数组方法总结
本文实例总结了Thinkphp将二维数组变为标签适用的一维数组方法.分享给大家供大家参考.具体实现方法如下: 方法一: 复制代码 代码如下: $projectList=arr1tag($projectList,array('','请选择'),'project_name'); //其中$list为传值过来的二维数组,$default为默认值,$k为指定的表字段 function arr1tag($list,$default='',$k=''){ $tmp=''; if(array(
-
PHP实现判断数组是一维、二维或几维的方法
本文实例讲述了PHP实现判断数组是一维.二维或几维的方法.分享给大家供大家参考,具体如下: 这里使用的自定义函数,可以判断数组是一维的,还是二维的,或是几维的数组: function getmaxdim($vDim) { if(!is_array($vDim)) return 0; else { $max1 = 0; foreach($vDim as $item1) { $t1 = $this->getmaxdim($item1); if( $t1 > $max1) $max1 = $t1;
-
python 去除二维数组/二维列表中的重复行方法
之前提到去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢? import numpy as np arr = np.array([[1, 2],[3, 4],[5, 6],[7, 8],[3, 4],[1, 2]]) print(np.array(list(set([tuple(t) for t in arr])))) 输出: [[1 2] [3 4] [5 6] [7 8]] 如果是二维列表,列表中每个元素还是列表 list2=list(set([tup
-
详解go 动态数组 二维动态数组
go使用动态数组还有点麻烦,比python麻烦一点,需要先定义. 动态数组申明 var dynaArr []string 动态数组添加成员 dynaArr = append(dynaArr, "one") ```go # 结构体数组 ```go package main import ( "fmt" ) type A struct{ Path string Length int } func main() { var dynaArr []A t := A{"
-
Java 在游戏中探索数组二维数组
目录 什么是数组 举例(装备栏) 声明数组 int类型 String类型 数组操作 遍历数组 二维数组 声明二维数组 这里是JAVA成仙路,关注我学习JAVA不迷路 什么是数组 数组(Array)是有序的元素序列. 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量/12713827).用于区分数组的各个元素的数字编号称为下标.数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式.
-
Java 在游戏中探索数组二维数组
目录 什么是数组 举例(装备栏) 声明数组 int类型 String类型 数组操作 遍历数组 二维数组 声明二维数组 什么是数组 数组(Array)是有序的元素序列. 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量/12713827).用于区分数组的各个元素的数字编号称为下标.数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式. 这些有序排列的同类数据元素的集合称为数组. 数
随机推荐
- javascript 对象数组根据对象object key的值排序
- linux NFS 学习笔记
- 批处理命令教学之管道符号(|)
- java String 类的一些理解 关于==、equals、null
- Java反射机制的学习总结
- Linux Ubuntu系统上手动安装.NET Core SDK的方法
- web打印 window.print()介绍
- Python实现抓取网页生成Excel文件的方法示例
- C# 16进制与字符串、字节数组之间的转换
- Java从服务器上获取时间动态显示在jsp页面实现思路
- C++中实现把表的数据导出到EXCEL并打印实例代码
- 原生js实现瀑布流布局
- Lua检测数组(tabble)中是否包含某个值
- VBS教程:VBScript 基础-VBScript 数据类型
- 分享SQL Server删除重复行的6个方法
- Servlet3.0学习总结之基于Servlet3.0的文件上传实例
- HTML上传控件取消选择
- 浅谈linux下的一些常用函数的总结(必看篇)
- Java concurrency线程池之线程池原理(四)_动力节点Java学院整理
- Android编写文件浏览器简单实现