2011-11-03 50 views
-2

如果我在我的PHP中使用了很多三元條件運算符,它會對我的腳本的性能產生不利影響嗎?如果有的話,什麼是很多三元條件的性能影響?

例如爲:

$var = (cond)?"success":"error"; 

if(cond) success else error 

我更喜歡使用三元條件句,因爲它使代碼看起來更乾淨和更小的。

+1

清潔和小代碼每次都丟失可維護和可讀的代碼。 –

+0

可能重複[To ternary or not to ternary?](http://stackoverflow.com/questions/160218/to-ternary-or-not-to-ternary) – animuson

回答

0

您能爲我們定義內聯嗎?使用:

$var = (cond)?"success":"error"; 

if(cond) { 
    $var = "success"; 
}else{ 
    $var = "error"; 
} 

應該不會給你任何noticable性能差異。但是,如果你打算在PHP中使用內聯HTML:

$var = "success" 
echo "<p>$var</p>"; 

我建議檢出模板系統,比如smarty。

0

簡短的答案取決於它,但通常你不會注意到性能的差異。通常,如果測試條件是少量數據,則性能可能幾乎相同。但是對於更大的數據集,使用三元運算符可以看到性能較低。

我建議使用它,如果這就是你喜歡的代碼,只關心你自己的代碼是否真的開始爬行。

鏈接後這樣做性能測試:http://fabien.potencier.org/article/48/the-php-ternary-operator-fast-or-not

4

如果我在PHP中使用了大量的三元條件的經營者,將它 不利我的腳本的性能影響?


$var = (cond)?"success":"error"; 

這是一個三元條件(或 「內聯如果」)...

if(cond) success else error 

..但是,是一個正常的if - else聲明,缺乏換行符和大括號。它的功能上等同於:

if (cond) { 
    success 
} 
else { 
    error 
} 

我更喜歡使用三元條件句,因爲它使代碼看起來 更清潔和更小的。

不一定。所以要注意你在風格決定中做出的總體概括。

相關問題