【发布时间】:2011-06-01 10:15:15
【问题描述】:
我创建了一个循环,其中一个变量用于测试循环的当前运行是否是第一个。它相当简单:
$firstrun = true;
while(condition){
if($firstrun)
// Do this
else
// Do that
// Change $firstrun to false
}
我只是想知道(主要是出于好奇,因为我没有真正明显的区别),当我需要将 $firstrun 更改为 false 时,在分配之前测试变量是否为 true 会更有效在每次运行期间将其设置为 false 还是简单地将其重新分配为 false?
例如:
$firstrun = true;
while(condition){
if($firstrun)
// Do this
else
// Do that
if($firstrun)
$firstrun = false;
}
或者干脆
$firstrun = true;
while(condition){
if($firstrun)
// Do this
else
// Do that
$firstrun = false;
}
PS:
我想这也是一个不好的例子,因为将$firstrun 的重新分配与原始条件一起重新分配是最有效的,但正如我所说,这是出于好奇,所以我想只是假装这不是某些人的选择原因。
PSS: 当我遇到这个想法时,我正在使用 PHP 进行编码,但我猜测解决方案将与语言无关。只是想我会把它扔在那里,以防它出于某种原因很重要。
那么最终,条件测试或变量赋值哪个更快?
【问题讨论】:
-
对于 PHP,可能有一个绝对的答案,但作为一个与语言无关的问题,唯一真正的答案是:profile it!
标签: php performance conditional variable-assignment