PHP - isse数组优化

时间:2016-01-14 03:20:17

标签: php arrays optimization isset

从优化和最佳实践角度来看,我应该在设置之前检查数组键是否已设置。

我很高兴覆盖这个价值 - 所以要么适合我的目的。

在这个简单的例子中,我知道我的数组应该具有什么值,并且我没有问题覆盖键值。

    $array = array(
        'A' => 'B'
    );

    $key = 'A';
    $value = 'B';

    //...

选项1。

    //...

    if(!isset($array[$key])) {
        $array[$key] = $value;
    }

选项2。

    //...

    $array[$key] = $value;

是否有更多的开销调用 isset ,或在数组中设置值?

1 个答案:

答案 0 :(得分:0)

嗯,我不知道有很多具体的细节,但如果有差异,我高度怀疑它是否会引人注意。如果我们从逻辑的角度来看这两个比较:

1)价值是否存在? 2a)如果是,则覆盖。 2b)如果不是,请跳过。

1)覆盖值。

参数可以以任何一种方式进行,因为资源被用于检查然后覆盖。所以实际上,您正在执行与第二个选项相同的步骤,但添加了if语句。按照这个逻辑,只是覆盖HAS更快。有意义吗?

使用我们的第二个选项,我们所做的只是覆盖。首先,我们检查AND覆盖。因此,如果你确定你将主要是压倒一切,那么第二种选择可能是最好的。如果您认为值将一致地改变,那么请转到if语句。

你必须深入研究才能找到确切的时差。

希望我帮助过。