检查PHP数组是不是为空的最佳方法[关闭]
Posted
技术标签:
【中文标题】检查PHP数组是不是为空的最佳方法[关闭]【英文标题】:Best way to check if PHP Array is empty [closed]检查PHP数组是否为空的最佳方法[关闭] 【发布时间】:2013-02-18 14:23:48 【问题描述】:这主要是肤浅的,但检查数组是否为空的最佳(执行速度更快,而不是个人偏好或可读性)方法是什么:
count($arr) == 0
empty($arr)
$arr === array()
其他?
我猜是这样的
-
尽可能迭代然后返回
检查变量是否为数组后只需执行1
似乎它应该很慢,因为它必须构造一个新对象来进行比较
但这并没有考虑到它在此处执行的任何编译时优化。
免责声明
我不打算通过我的代码库将所有实例更改为最快的方法,所以请不要提醒我这是微优化。这只是单纯的好奇。
【问题讨论】:
我猜在大多数情况下差别很小。不过就个人而言(并且未经测试),我怀疑 empty() 稍微快一点。 count() 最后是比较。 ***.com/questions/4014327/… 还有一个话题:***.com/questions/2216110/… 简单的!$arr
最快,empty()
第二,=== array()
第三,count
第四(5.4.3)但是你是对的,它只不过是微-操作。
无论你做什么,都不要使用我过去做过的基准测试中的count()
,速度非常慢。
【参考方案1】:
一个空数组是:
$emptyArray = array();
检查它是否为空:
if( empty( $emptyArray ) )
echo 'array is empty';
如果数组不为空:
$notEmptyArray = array( 'item' );
检查它是否为空:
if( !empty( $notEmptyArray ) )
echo 'array not empty';
还有其他方法可以做到这一点,但为此类事情构建的空函数。
【讨论】:
【参考方案2】: if(empty($arr))
echo "Empty";
else
echo "Ok..!";
这是检查数组是否为空的最快且安全的方法
【讨论】:
你做过什么基准测试吗? 其实!$array
是最快的。以上是关于检查PHP数组是不是为空的最佳方法[关闭]的主要内容,如果未能解决你的问题,请参考以下文章