要找出PHP $array
中元素的数量,哪个更快/更好/更强?
count($array)
还是sizeof($array)
?
编辑
多亏了Andy Lester,我将我的问题从多语言的角度进行了改进。手册评论者说
"sizeof在许多其他基于C的语言中并不意味着相同“
这是真的吗?
发布于 2010-10-20 10:55:10
如果它们是相同的,我会使用count()
,因为根据我的经验,它更常见,因此会导致较少的开发人员在阅读您的代码时会问"sizeof()
,那是什么?“并且必须查阅文档。
我认为这意味着sizeof()
不能像在C中那样工作(计算数据类型的大小)。它之所以明确提到这一点,可能是因为PHP是用C语言编写的,并为C函数(strlen()
、printf()
等)提供了许多同名的包装器。
发布于 2014-05-01 23:23:26
根据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()来进行预计算。
发布于 2010-10-20 10:49:36
根据sizeof()
的说法,它们是相同的
在没有任何理由担心“更快”的情况下,始终为人类进行优化。对人类读者来说,哪一个更有意义?
https://stackoverflow.com/questions/3974385
复制相似问题