php获取数组长度有两种函数:1、count(),语法“count($arr,$m)”;2、sizeof(),语法“sizeof($arr,$m)”。这两个函数的第二个参数是用于处理多维数组的,可省略;若值设置为1,则可计算多维数组的长度。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在 PHP 中获取数组长度方法很简单,PHP 为我们提供了两个函数来计算数组的长度,分别是 count() 和 sizeof() 函数。
1、count() 函数
count() 函数可以统计出数组里所有元素的数量,或对象中的属性个数,其语法格式如下:
count($array , $mode )
参数说明如下:
- $array:为待统计的数组或对象;
- $mode:为可选参数,可以省略。
- 如果省略 $mode 参数,或者将其设置为 COUNT_NORMAL 或者 0,count() 函数将不检测多维数组;
- 如果 $mode 设置为 COUNT_RECURSIVE 或者 1,count() 函数将递归计算数组中元素的个数,对于计算多维数组的元素个数尤为有用。
提示:如果 $array 既不是数组,也不是对象,count() 函数将返回 1;如果 $array 等于 NULL,则 count() 函数返回 0。
示例1:一维数组长度
<?php header("content-type:text/html;charset=utf-8"); $arr=array(1,2,3,4,5,6,7,8,9); var_dump($arr); echo "数组长度为:".count($arr); ?>
示例2:二维数组的长度
<?php header("Content-type:text/html;charset=utf-8"); $arr= array ("张三", 25, array("高数","PHP教程","英语"), ); //输出语句 var_dump($arr); echo "数组长度为:".count($arr,1); ?>
看了上面的输出结果,是不是感到疑惑,数组中不是只有5个元素("张三"、25、"高数"、"PHP教程"、"英语")吗,为什么结果显示的数组长度不是5,而是6呢?
其实是因为,此时count()函数循环统计二维数组中的所有元素,“array("高数","PHP教程","英语")”会被当做一个整体统计一次,它里面的元素("高数"、"PHP教程"、"英语")又会被统计一次,所以最终结果为 6。
2、sizeof() 函数
sizeof() 函数是 count() 函数的别名,也就是所 sizeof() 函数的功能及使用方法与 count() 函数完全相同。
示例:使用 sizeof() 函数计算数组长度
<?php header("Content-type:text/html;charset=utf-8"); $arr = ['php中文网','PHP教程','https://www.php.cn/','sizeof()函数','数组长度']; echo '$arr 的长度为:'.sizeof($arr).'<br>'; $arr2 = ['php中文网','PHP教程',['https://www.php.cn/','sizeof()函数','数组长度']]; echo '$arr2 的长度为:'.sizeof($arr2).'<br>'; echo '参数 $mode = 1 时,$arr2 的长度为:'.sizeof($arr2, 1).'<br>'; ?>
推荐学习:《PHP视频教程》