【发布时间】:2013-02-18 14:23:48
【问题描述】:
这主要是肤浅的,但检查数组是否为空的最佳(执行速度更快,而不是个人偏好或可读性)方法是什么:
count($arr) == 0empty($arr)$arr === array()- 其他?
我猜是这样的
- 尽可能迭代然后返回
- 检查变量是否为数组后只需执行1
- 似乎它应该很慢,因为它必须构造一个新对象来进行比较
但这并没有考虑到它在此处执行的任何编译时优化。
免责声明
我不打算通过我的代码库将所有实例更改为最快的方法,所以请不要提醒我这是微优化。这只是单纯的好奇。
【问题讨论】:
-
我猜在大多数情况下差别很小。不过就个人而言(并且未经测试),我怀疑 empty() 稍微快一点。 count() 最后是比较。
-
简单的
!$arr最快,empty()第二,=== array()第三,count第四(5.4.3)但是你是对的,它只不过是微-操作。 -
无论你做什么,都不要使用我过去做过的基准测试中的
count(),速度非常慢。
标签: php optimization