PHP 数组:计数还是大小?
2022-08-30 06:11:01
要找到PHP中的元素数量,哪个更快/更好/更强?$array
count($array)
或?sizeof($array)
编辑
感谢安迪·莱斯特(Andy Lester),我从多语言的角度完善了我的问题。手动评论者说
“[sizeof]在许多基于C的语言中并不相同”
这是真的吗?
要找到PHP中的元素数量,哪个更快/更好/更强?$array
count($array)
或?sizeof($array)
感谢安迪·莱斯特(Andy Lester),我从多语言的角度完善了我的问题。手动评论者说
“[sizeof]在许多基于C的语言中并不相同”
这是真的吗?
如果它们相同,我会使用,因为根据我的经验,它更常见,因此会导致更少的开发人员阅读你的代码说“,那是什么?”并且不得不查阅文档。count()
sizeof()
我认为它意味着不像在C中那样工作(计算数据类型的大小)。它可能明确提到了这一点,因为PHP是用C语言编写的,并且为C函数(,等)提供了许多同名的包装器。sizeof()
strlen()
printf()
根据 phpbench:
是否值得提前计算循环的长度?
//pre-calculate the size of array
$size = count($x); //or $size = sizeOf($x);
for ($i=0; $i<$size; $i++) {
//...
}
//don't pre-calculate
for ($i=0; $i<count($x); $i++) { //or $i<sizeOf($x);
//...
}
给出了一个包含 1000 个键和 1 个字节值的循环。
+---------+----------+
| count() | sizeof() |
+-----------------+---------+----------+
| With precalc | 152 | 212 |
| Without precalc | 70401 | 50644 |
+-----------------+---------+----------+ (time in µs)
因此,我个人更喜欢使用 count() 而不是 sizeof() 进行预计算。