PHP数组:count或sizeof?

要findPHP $array中元素的数量,哪个更快/更好/更强?

count($array)sizeof($array)

编辑

感谢安迪·莱斯特(Andy Lester),我从多语言的angular度将我的问题提炼为意思。 手册的评论者说

“[sizeof]并不意味着基于C的许多其他语言是相同的”

这是真的?

如果它们是相同的,我会使用count() ,因为根据我的经验,这是更常见的,因此会导致更less的开发人员阅读您的代码来说“ sizeof() ,那是什么? 并不得不查阅文件。

我认为这意味着sizeof()不像C中那样工作(计算数据types的大小)。 这可能是明确提到的,因为PHP是用C语言编写的,并且为C函数( 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个字节值的循环。

预计算() 总时间:152μs

没有预计算()总时间:70401μs

预计算 – sizeof()总时间:212μs

没有预先计算 – sizeof()总时间:50644微秒

所以我个人更喜欢使用count()而不是sizeof() 和pre calc

他们根据sizeof()是相同的

在没有任何理由担心“更快”的情况下,总是为人类进行优化。 这对于读者来说更有意义吗?

根据网站, sizeof()count()的别名,所以他们应该运行相同的代码。 也许sizeof()有一点点的开销,因为它需要解决它count() ? 尽pipe如此,它应该是非常小的。

sizeof()只是这里提到的count()的别名

http://php.net/manual/en/function.sizeof.php