本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
在 PHP 中获取数组长度方法很简单,PHP 为我们提供了两个函数来计算数组的长度,分别是 count() 和 sizeof() 函数。
但其实count() 和 sizeof() 函数之间是没有区别的,sizeof() 函数是 count() 函数的别名,这两个函数的功能及使用方法是完全相同的。
语法格式:
count($array,$mode);
sizeof($array,$mode);
参数说明如下:
- $array:为待统计的数组或对象;
- $mode:为可选参数,可以省略。
- 如果省略 $mode 参数,或者将其设置为 COUNT_NORMAL 或者 0,count() 函数将不检测多维数组;
- 如果 $mode 设置为 COUNT_RECURSIVE 或者 1,count() 函数将递归计算数组中元素的个数,对于计算多维数组的元素个数尤为有用。
提示:如果 $array 既不是数组,也不是对象,则返回 1;如果 $array 等于 NULL,则返回 0。
示例1:使用count() 统计数组元素的个数。
<?php
header("Content-type:text/html;charset=utf-8");
$arr = ['PHP中文网','PHP教程','https://www.php.cn/','count()函数','sizeof()函数','数组长度'];
echo '$arr 的长度为:'.count($arr).'<br>';
$arr2 = ['C语言中文网','PHP教程',['https://www.php.cn/','count()函数','sizeof()函数','数组长度']];
echo '$arr2 的长度为:'.count($arr2).'<br>';
echo '参数 $mode = 1 时,$arr2 的长度为:'.count($arr2, 1).'<br>';
$str = 'https://www.php.cn/';
echo '$str 的长度为:'.count($str).'<br>';
?>
输出结果:
示例2:使用sizeof() 统计数组元素的个数
<?php
header("Content-type:text/html;charset=utf-8");
$arr = ['PHP中文网','PHP教程','https://www.php.cn/','count()函数','sizeof()函数','数组长度'];
echo '$arr 的长度为:'.sizeof($arr).'<br>';
$arr2 = ['C语言中文网','PHP教程',['https://www.php.cn/','count()函数','sizeof()函数','数组长度']];
echo '$arr2 的长度为:'.sizeof($arr2).'<br>';
echo '参数 $mode = 1 时,$arr2 的长度为:'.count($arr2, 1).'<br>';
$str = 'https://www.php.cn/';
echo '$str 的长度为:'.sizeof($str).'<br>';
?>
输出结果:
可以看出使用count()和sizeof() 返回的结果是一样的。
说明:代码第 7 行把 $mode 设置为 1,count()和sizeof() 函数会循环统计二维数组中的所有元素,此时 ['https://www.php.cn/','count()函数','sizeof()函数','数组长度']
会被当做一个整体统计一次,它里面的元素又会被统计一次,所以最终结果为 7。