PHP数组学习之二维数组计算数组长度
在之前的文章《PHP数组学习之二维数组创建方法浅析》中,我们介绍了如何创建二维数组(多维数组),感兴趣的可以去看看。既然有了数组,那就要操作,有时就需要知道数组长度(数组中所有元素的个数)。那么如何获取二维数组甚至多维数组的数组长度呢?今天我们就来和大家一起了解下。
一维数组的数组长度我们知道怎么获取,很简单,直接使用count($arr)
就可以了。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); //输出语句 var_dump($arr); echo "数组长度为:".count($arr); ?>
输出结果:
是不是很简单,那么二维数组呢?二维数组甚至多维数组如何计算数组长度,统计所以元素的个数?
二维数组也简单,还是使用count()函数,只需要给count()函数传递二个参数:第一个参数和上面一样为$array,指定要计数的数组;而第二个参数为$mode
,值设置为 COUNT_RECURSIVE
或者 1
,这样count()函数就会递归地计算出数组中元素个数。
下面我们通过两个代码实例来具体了解下,利用count()函数如何通过多维数组的数组长度。
实例1:二维数组的长度
<?php header("Content-type:text/html;charset=utf-8"); $arr= array ("张三", 25, array("高数","PHP教程","英语"), ); //输出语句 echo "数组长度为:".count($arr,1); ?>
输出:
数组长度为:6
看了上面的输出结果,是不是感到疑惑,数组中不是只有5个元素("张三"
、25
、"高数"
、"PHP教程"
、"英语"
)吗,为什么结果显示的数组长度不是5,而是6呢?
其实是因为,此时count()函数循环统计二维数组中的所有元素,“array("高数","PHP教程","英语")
”会被当做一个整体统计一次,它里面的元素("高数"
、"PHP教程"
、"英语"
)又会被统计一次,所以最终结果为 6。
我们通过var_dump()函数输出$arr数组,看看它的数据结构,可以直观的了解count()函数的流程。
实例2:三维数组的长度
<?php header("Content-type:text/html;charset=utf-8"); $arr = array( '安徽' => array( '合肥'=>array('蜀山区','长丰县','肥东'), '宿州'=>array('墉桥区','灵璧县','泗县') ), '河南' => array( '洛阳'=>array('西工区','老城区','孟津县'), '郑州市'=>array('中原区','金水区') ) ); var_dump($arr); echo "数组长度为:".count($arr,1); ?>
输出结果:
扩展知识:
计算数组长度除了可以使用count()函数外,我们还能使用sizeof()函数。sizeof()函数是count()函数的别名,其功能和使用方法与 count()函数完全一样的。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!