迅速确定php多维数组的深度的方法
array(
array(
array(1,3,4),
array(
array(
1,2,3
)
)
),
array(
array(1,2),
array(1)
)
)
这个数组的深度就是5,那么如何快速的确定一个数组深度。
(PS:T不错的PHP Q扣峮:276167802,验证:csl)
其实,只是上面的答案应该再进行排序就可以了。下面清源分享一个简单的计算深度函数:
代码如下:
<?php
function array_depth($array) {
$max_depth = 1;
foreach ($array as $value) {
if (is_array($value)) {
$depth = array_depth($value) + 1;
if ($depth > $max_depth) {
$max_depth = $depth;
}
}
}
return $max_depth;
}
$array = array( array("11"), array(),array( array(array("5", "6"), "7", "8")),array( array(array("5", "6"), "7", "8")), "9", "10");
echo array_depth($array);
?>
希望本文对广大php开发者有所帮助,感谢您阅读本文。
相关推荐
-
PHP中多维数组的foreach遍历示例
复制代码 代码如下: <?php //声明一个三维数组 $info=array( "user"=>array( array(1,"zhangsan",20,"nan"), array(2,"lisi",20,"nan"), array(3,"wangwu",25,"nv") ), "score"=>array( array(1,1
-
3个PHP多维数组转为一维数组的方法实例
很多时候我们需要将多维数组转成一维数组,因为我们只需要一维数组,而且一维数组使用起来更方便,在PHP中如何将多维数组转成一维数组?下面我们来看看三个多维数组转为一维数组例子:一.使用foreach 复制代码 代码如下: <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { return false; } fo
-
php中经典方法实现判断多维数组是否为空
复制代码 代码如下: //判断一个数组是否为空 /** array( ); 空 array( array( ), array( ), array( ) ); 空 array( array( ), array( array( ), array( 1=>1 ) ), array( ) ); 非 空 */ function is_array_null($value) { if (empty($value)) { return $value; } else { return is_array($valu
-
PHP使用array_fill定义多维数组的方法
本文实例讲述了PHP使用array_fill定义多维数组的方法.分享给大家供大家参考.具体分析如下: PHP中可以用多个array_fill嵌套完成多维数组的定义: $creation=array_fill(0,3,array_fill(0,2,null)); 可用如下语句进行填充: $abc=0; for($i=0;$i<3;$i++) { for($j=0;$j<2;$j++) { $abc=$abc+1; $creation[$i][$j]=$abc; } } 结果为: Array (
-
php递归遍历多维数组的方法
本文实例讲述了php递归遍历多维数组的方法.分享给大家供大家参考.具体如下: <?php function get_array_elems($arrResult, $where="array"){ while(list($key,$value)=each($arrResult)){ if (is_array($value)){ get_array_elems($value, $where."[$key]"); } else { for ($i=0; $i<
-
php中count获取多维数组长度的方法
本文实例讲述了php中count获取多维数组长度的实现方法.分享给大家供大家参考.具体分析如下: 先来看看下面程序运行结果: 复制代码 代码如下: $numb=array( array(10,15,30),array(10,15,30),array(10,15,30) ); echo count($numb,1); A.3 B.12 C.6 D.9 答案是B count函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组
-
php计算多维数组中所有值总和的方法
本文实例讲述了php计算多维数组中所有值总和的方法.分享给大家供大家参考.具体实现方法如下: php 内置函数 array_sum() 函数返回数组中所有值的总和,只能返回一维数组的总和: 计算多维数组所有值的和就要自定义函数了: function get_sum($array) { $num = 0; foreach($array as $k => $v) { if(is_array($v)) { $num += get_sum($v); } } return $num + array_sum
-
php比较多维数组中值的大小排序实现代码
如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了.如果要截取数组,可用array_slice(). 如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引. 复制代码 代码如下: function cmp($a, $b){ if ($a["vote_num"] == $b[&q
-
php根据某字段对多维数组进行排序的方法
本文实例讲述了php根据某字段对多维数组进行排序的方法.分享给大家供大家参考.具体分析如下: 根据某字段对多维数组进行排序,在看到array_multisort方法的作用时突然想到,可以用来做这个方法 这段代码可实现根据field字段对数组进行排序 function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k]
-
迅速确定php多维数组的深度的方法
例如有一个多维数组: 复制代码 代码如下: array( array( array(1,3,4), array( array( 1,2,3 ) ) ), array( array(1,2), array(1) ) ) 这个数组的深度就是5,那么如何快速的确定一个数组深度. (PS:T不错的PHP Q扣峮:276167802,验证:csl) 其实,只是上面的答案应该再进行排序就可以了.下面清源分享一个简单的计算深度函数: 复制代码 代码如下: <?php function array_depth(
-
Java中增强for循环在一维数组和二维数组中的使用方法
一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l
-
java实现二维数组转json的方法示例
本文实例讲述了java实现二维数组转json的方法.分享给大家供大家参考,具体如下: package Tsets; public class erweiTojson { public static void main(String[] args) { String[][] blogList = { {"2008/07/07", "NetBeans New and Cool", "Tim Boudreau"}, {"2008/07/07&
-
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实现搜索一维数组元素并删除二维数组对应元素的方法.分享给大家供大家参考.具体如下: 定义一个一维数组一个二维数组如下 $fruit=array('apple','orange'); $products = array( array('name'=>'apple','price'=>23.4), array('name'=>'orange','price'=>45.3), array('name'=>'biscuit','number'=>5,'pri
-
JS中取二维数组中最大值的方法汇总
在JavaScript中可以通过内置的 Math.max() 的最大值,但是要从多重数组中取出最大值,还是有一定的难度. 问题描述 假设你有一个数组,而且这个数组中包含了数字的子数组,而我们要做的是从数组中的每个子数组中返回其最大的那个最大数. 基本解决方案 function largestOfFour(arr) { var results = []; // 创建一个results变量来存储 // 创建一个外层循环,遍历外层数组 for (var n = 0; n < arr.length; n
-
C++ 二维数组参数传递的实现方法
C++ 二维数组参数传递的实现方法 int a[2][2]={ {4, 6}, {9, 11} }; 我定义了这样一个数组,我想把这个数组作为参数,传递到一个函数中,并要在函数中能引用该二维数组的元素,我该怎么做? 第一种方式是直接传递二维数组,但是必须标明第二维的值,因为如果只是传递a[][],编译器无法分配这样的数组,所以要这样传int a[][3] 第二种方法是传递指针数组方式,即int (*a)[3] 第三种是传递指针方法. 具体实施见代码: 方法1:传递数组,注意第二维必须标明 //二
-
numpy向空的二维数组中添加元素的方法
直接上代码了 x = np.empty(shape=[0, 4], int) x = np.append(x, [[1,2,3,4]], axis = 0) x = np.append(x, [[1,2,3,4]], axis = 0) 这样就添加了两行4列的数据了.注意append里面是两层括号,这个非常重要,如果漏掉了就不是二维数组了,用axis的时候就会报维度不匹配. 以上这篇numpy向空的二维数组中添加元素的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我
-
Python简单获取二维数组行列数的方法示例
本文实例讲述了Python简单获取二维数组行列数的方法.分享给大家供大家参考,具体如下: import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) # 输出数组的行和列数 print x.shape # (4, 3) # 只输出行数 print x.shape[0] # 4 # 只输出列数 print x.shape[1] # 3 本机测试运行结果如下图所示: 或者: >>> arr = [[1,4,7,10,1
随机推荐
- Java 正则表达式入门详解(基础进阶)
- Java正则表达式入门基础篇(新手必看)
- Java简易登录注册小程序
- sqlserver数据库大型应用解决方案经验总结
- 详解Jquery的事件操作和文档操作
- 用批处理轻松清掉sxs.exe和autorun.inf的专杀工具
- 关于HTML及UBB标记的闭合
- asp.net session丢失的解决方法小结
- asp.net后台注册js的四种方法分享
- PHP中的extract的作用分析
- asp复制文件夹代码
- 微信小程序学习之初探小程序
- 文件上传之SWFUpload插件(代码)
- 如何判断a、b、c三个字段同时为0则不显示这条数据
- 使用JQ来编写最基本的淡入淡出效果附演示动画
- 数据结构中的各种排序方法小结(JS实现)
- Javascript中设置默认参数值示例
- windows下使用cwRsync定期备份网站(服务器文件同步)
- Javascript调试之console对象——你不知道的一些小技巧
- mybatis generator 配置 反向生成Entity简单增删改查(推荐)