php sizeof与count的区别是什么
php sizeof()和count()之间没有区别。sizeof()函数是count()函数的别名,也就是说sizeof()函数的功能及使用方法与count()函数是完全相同的,都可以用来计算数组的长度。
本教程操作环境: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.yht7.com/','count()函数','sizeof()函数','数组长度']; echo '$arr 的长度为:'.count($arr).'<br>'; $arr2 = ['C语言中文网','PHP教程',['https://www.yht7.com/','count()函数','sizeof()函数','数组长度']]; echo '$arr2 的长度为:'.count($arr2).'<br>'; echo '参数 $mode = 1 时,$arr2 的长度为:'.count($arr2, 1).'<br>'; $str = 'https://www.yht7.com/'; echo '$str 的长度为:'.count($str).'<br>'; ?>
输出结果:
示例2:使用sizeof() 统计数组元素的个数
<?php header("Content-type:text/html;charset=utf-8"); $arr = ['PHP中文网','PHP教程','https://www.yht7.com/','count()函数','sizeof()函数','数组长度']; echo '$arr 的长度为:'.sizeof($arr).'<br>'; $arr2 = ['C语言中文网','PHP教程',['https://www.yht7.com/','count()函数','sizeof()函数','数组长度']]; echo '$arr2 的长度为:'.sizeof($arr2).'<br>'; echo '参数 $mode = 1 时,$arr2 的长度为:'.count($arr2, 1).'<br>'; $str = 'https://www.yht7.com/'; echo '$str 的长度为:'.sizeof($str).'<br>'; ?>
输出结果:
可以看出使用count()和sizeof() 返回的结果是一样的。
说明:代码第 7 行把 $mode 设置为 1,count()和sizeof() 函数会循环统计二维数组中的所有元素,此时 ['https://www.yht7.com/','count()函数','sizeof()函数','数组长度']
会被当做一个整体统计一次,它里面的元素又会被统计一次,所以最终结果为 7。
推荐学习:《PHP视频教程》