-3
三元操作從我可以告訴,有兩種方法在PHP寫的三元操作:正確的方式寫在PHP
$var = (isset($i['var']) ? $i['var'] : "");
$var = (isset($i['var'])) ? $i['var'] : "";
是這些方式「正確」的一個,還是一個更好的表現比其他,還是他們都可以互換?
三元操作從我可以告訴,有兩種方法在PHP寫的三元操作:正確的方式寫在PHP
$var = (isset($i['var']) ? $i['var'] : "");
$var = (isset($i['var'])) ? $i['var'] : "";
是這些方式「正確」的一個,還是一個更好的表現比其他,還是他們都可以互換?
兩者都是正確的。事實上,在你的例子中,你根本不需要括號。你可以這樣做:
$var = isset($i['var']) ? $i['var'] : "";
括號不會影響你的代碼的性能。他們出於兩個原因:
如果您打算考慮添加括號作爲編寫運算符的新方法,那麼不存在「兩種方式」,即有無數*種方式。您可以添加任意數量的括號,但不會更改任何內容。他們是一樣的東西。你錯過了明顯的* no *括號,並且唯一可以說是「正確的」:'$ var = isset($ x)? $ y:$ z' – meagar
這就好像你問什麼是正確的一樣:'$ i = 1;'或'$ i =(((((((((1)))))) ))));'只有一種情況下,你真的想要第一個,那就是如果你嵌套三元的,你不想做的。 – Rizier123
這兩種形式都有太多的括號:括號通常用於將AND和OR等邏輯運算符分組。這兩個都不在使用中,所以使用的唯一圓括號應該放在'isset()'上。 – halfer