如果我在PHP中使用了很多三元条件运算符,会不会对我的脚本性能产生负面影响?
e.g:
$var = (cond)?"success":"error";
if(cond) success else error
我更喜欢使用三元条件,因为它使代码看起来更清晰,更小。
答案 0 :(得分:4)
如果我在PHP中使用了很多三元条件运算符,那就可以了 对我的剧本的表现产生不利影响?
没有
$var = (cond)?"success":"error";
这是三元条件(或“内联如果”)......
if(cond) success else error
...但这只是一个普通的if
- else
语句,缺少换行符和大括号。它在功能上与:
if (cond) {
success
}
else {
error
}
我更喜欢使用三元条件,因为它使代码看起来像 更清洁,更小。
不一定。所以要小心你在风格决定中做出的粗略概括。
答案 1 :(得分:0)
你能为我们定义内联吗?使用:
$var = (cond)?"success":"error";
或
if(cond) {
$var = "success";
}else{
$var = "error";
}
不应该给你任何显着的性能差异。但是,如果您计划使用与PHP混合的HTML内联:
$var = "success"
echo "<p>$var</p>";
我建议查看模板系统,例如smarty。
答案 2 :(得分:0)
简短的回答是取决于但通常你不会注意到性能上的差异。通常如果测试条件是少量数据,则性能几乎相同。但是使用更大的数据集,您可以看到使用三元运算符的性能降低。
我建议你使用它,如果这是你喜欢的代码,如果你的代码真的开始爬行,那就只关心它了。
链接到执行此类效果测试的帖子:http://fabien.potencier.org/article/48/the-php-ternary-operator-fast-or-not