【发布时间】:2021-05-21 10:40:35
【问题描述】:
我有以下代码,想知道哪种方法对 PHP 编译器更快。变量声明总是赋值,但会丢失检查。而检查仅在 $checked 评估为 false 时具有变量声明。
变量声明
$checked = false;
if($checkA == true){
$checked = true;
}
if($checkB == true){
$checked = true;
}
if($checkC == true){
$checked = true;
}
变量比较
$checked = false;
if($checkA == true){
if(!$checked){
$checked = true;
}
}
if($checkB == true){
if(!$checked){
$checked = true;
}
}
if($checkC == true){
if(!$checked){
$checked = true;
}
}
【问题讨论】:
-
简而言之,由于每个测试都有 2 个 if,因此具有完全不必要的内部 if 的第二个样本效率较低。
-
更简洁的是`$checked = ($checkA || checkB || checkC)
-
此外,如果您担心这一级别的微观性能改进,您可能会浪费大量时间来获得几乎为零的收益
-
@RiggsFolly 好奇心比什么都重要,任何改进都值得吗? :)
标签: php performance