检查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数组是不是为空的最佳方法[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP中判断变量值是不是为空的问题

PHP中判断变量为空的几种方法

PHP - 检查数组索引是不是存在或为空

php怎样判断多维数组是不是为空

检查变量是不是为空字符串或空字符串的更好方法?

为啥检查字符串是不是为空的函数总是返回true? [关闭]