以下哪项是更优化的方法?选项A或B?
选项A:两次查找多维数组的值
if($my_array["dimension1"]["dimension2"]["dimension3"] > 0 ) {
echo $my_array["dimension1"]["dimension2"]["dimension3"];
}
选项B:查找多维数组的值一次,但需要额外的变量定义
$dimension3 = $my_array["dimension1"]["dimension2"]["dimension3"];
if($dimension3 > 0) {
echo $dimension3;
}
我个人认为选项B更具可读性,但是这段代码执行了几十万次,所以更优化的方法会优先考虑。
答案 0 :(得分:1)
我认为选项B在表演方面更胜一筹。
在运行时,必须找到您指定的多维数组的单元格所指向的内存位置。输入一个简单的变量值更快。
因此,如果您输入一次数组并将值存储在临时变量中,那么您的脚本将分配更多内存(以存储临时变量)但是您将很快输入所需值的第二倍!
当然可以进行其他类型的优化,以证明我所说的更好的方法是自己测试
答案 1 :(得分:0)
随着你的项目变得越来越大(指的是调用这些数组的数量),你想要选择B ......但是这个很小,我想不出一个真正显着差异的例子。
答案 2 :(得分:-1)
我会选择选项A.简单来说,因为选项B有额外的变量分配,加上额外的赋值操作。
但是,收益微不足道;但仍然是一个收获。 : - )