PHP数组学习之二维数组计算数组长度

在之前的文章《PHP数组学习之二维数组创建方法浅析》中,我们介绍了如何创建二维数组(多维数组),感兴趣的可以去看看。既然有了数组,那就要操作,有时就需要知道数组长度(数组中所有元素的个数)。那么如何获取二维数组甚至多维数组的数组长度呢?今天我们就来和大家一起了解下。

一维数组的数组长度我们知道怎么获取,很简单,直接使用count($arr)就可以了。

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
//输出语句
var_dump($arr);
echo "数组长度为:".count($arr);
?>

输出结果:

1.png

是不是很简单,那么二维数组呢?二维数组甚至多维数组如何计算数组长度,统计所以元素的个数?

二维数组也简单,还是使用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.png

实例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);
?>

输出结果:

3.png

扩展知识:

计算数组长度除了可以使用count()函数外,我们还能使用sizeof()函数。sizeof()函数是count()函数的别名,其功能和使用方法与 count()函数完全一样的。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » PHP数组学习之二维数组计算数组长度