PHP-isse数组优化
从优化和最佳实践的角度来看,我应该在设置阵列键之前检查阵列键是否已设置 我很乐意覆盖该值,因此两者都适合我的目的 在这个简单的示例中,我知道数组应该具有哪些值,并且覆盖键值没有问题PHP-isse数组优化,php,arrays,optimization,isset,Php,Arrays,Optimization,Isset,从优化和最佳实践的角度来看,我应该在设置阵列键之前检查阵列键是否已设置 我很乐意覆盖该值,因此两者都适合我的目的 在这个简单的示例中,我知道数组应该具有哪些值,并且覆盖键值没有问题 $array = array( 'A' => 'B' ); $key = 'A'; $value = 'B'; //... 备选案文1 //... if(!isset($array[$key])) { $array[
$array = array(
'A' => 'B'
);
$key = 'A';
$value = 'B';
//...
备选案文1
//...
if(!isset($array[$key])) {
$array[$key] = $value;
}
备选案文2
//...
$array[$key] = $value;
调用isset或在数组中设置值会有更多的开销吗?好吧,我不知道关于时间的很多细节,但如果有差异,我非常怀疑它是否会明显。如果我们仅从逻辑的角度来看这一点,那么这两种情况会进行比较: 1) 这个值存在吗? 2a)如果是,则覆盖。 2b)如果没有,跳过 1) 覆盖值 由于资源用于检查然后重写,因此参数可以采用任何一种方式。因此,实际上,您正在执行与第二个选项相同的步骤,但添加了一个if语句。根据这一逻辑,只是重写必须更快。有道理吗 对于第二个选项,我们所做的就是覆盖。对于第一个,我们检查并覆盖。因此,如果您确信您将主要被覆盖,那么第二个选项可能是最好的。如果您认为这些值会持续变化,那么请使用If语句 你必须进行一些深入的研究才能找到确切的时差
希望我能帮忙。谢谢。我也这么想,但我不确定。看看其他人的代码,并试图找出他们为什么第一次这么做。