【问题标题】:Best way to check if PHP Array is empty [closed]检查PHP数组是否为空的最佳方法[关闭]
【发布时间】:2013-02-18 14:23:48
【问题描述】:

这主要是肤浅的,但检查数组是否为空的最佳(执行速度更快,而不是个人偏好或可读性)方法是什么:

  1. count($arr) == 0
  2. empty($arr)
  3. $arr === array()
  4. 其他?

我猜是这样的

  1. 尽可能迭代然后返回
  2. 检查变量是否为数组后只需执行1
  3. 似乎它应该很慢,因为它必须构造一个新对象来进行比较

但这并没有考虑到它在此处执行的任何编译时优化。

免责声明

我不打算通过我的代码库将所有实例更改为最快的方法,所以请不要提醒我这是微优化。这只是单纯的好奇。

【问题讨论】:

  • 我猜在大多数情况下差别很小。不过就个人而言(并且未经测试),我怀疑 empty() 稍微快一点。 count() 最后是比较。
  • 简单的!$arr最快,empty()第二,=== array()第三,count第四(5.4.3)但是你是对的,它只不过是微-操作。
  • 无论你做什么,都不要使用我过去做过的基准测试中的count(),速度非常慢。

标签: php optimization


【解决方案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是最快的。
    猜你喜欢
    • 2013-12-03
    • 2010-12-20
    • 2023-04-03
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    相关资源
    最近更新 更多