谈到PHP,我想问一问,这两者在性能上是否存在差异:
$name=($IsBoy)?"George":"Mary";vs
if($IsBoy)
{
$name="George";
}
else
{
$name="Mary";
}附注:如果你认为我的代码对“全-长”如果-如果-然后-如果-那么-太复杂,请提供一个最基本的代码的例子和答案。
更新:
我希望问题是完全清楚的,但似乎人们没有得到这个信息。这个问题是关于理论上(...yet实的和中观的)性能上的差异(这就是为什么我在theoretical).中使用粗体和斜体)。请不要回答说什么编程风格更可读性,这是太挑剔,不担心性能。
附注:他说:通过强调“理论”这个词,我试图防止“不要担心,它不值得麻烦,它只是纳秒”这样的回答。
发布于 2013-07-02 13:44:15
好吧,这很有趣
我为您的两个示例分别做了一个快速的x调试测试()。
在这里我得到了


当然,每次刷新都可能有不同的结果--所有这些都确保
第二种方法比第一总是更好
即使每次刷新,您可能会发现第一种方法偶尔会花费较少的时间,但这与PHP核心优化有关。
关于Zend优化器,我没有测试它
发布于 2013-07-01 13:51:44
我经常抛弃如果-如果-然后-其他的利益:
$name = 'the expected';
if ([expr]) $name = 'the exception';易于阅读,较少的支撑和紧凑。
发布于 2013-07-01 13:00:36
difference.You可以检查下面的堆栈溢出链接以获得更多的参考信息,这两个语句和三元操作符都有一定的性能。
https://stackoverflow.com/questions/17404953
复制相似问题