首先我们应该定义什么是“最好的”。对我来说最好的是:
- 执行速度很快。
- 以“正确”的方式完成。
- 易于阅读。
与执行速度相比,两者几乎相同(我做了一个 100 万次迭代的快速测试),所以这里没有明显的赢家。
这两个示例都很容易阅读,但是我会坚持使用第一个,因为如果由于某种原因要求您将“a1”添加到数组中,您将不得不更改一行代码,而不是两行。
编辑:这是我运行的代码($b = 0 和 $b = 1 并没有太大变化。: EDIT2:似乎我的第一个基准测试是错误的。这是第二个只做一次迭代的代码。显然第二个块代码执行得更快。
$b = 1;
$t = microtime(true);
$a = array('a', 'b');
if($b > 0) {
$a[] = 'c';
}
printf("%f\n", microtime(true)-$t);
$t = microtime(true);
if($b > 0) {
$a = array('a', 'b', 'c');
} else {
$a = array('a', 'b');
$a[] = 'c';
}
printf("%f\n", microtime(true)-$t);
输出:
0.000017
0.000003