2015-07-13 81 views
0

我想知道如果我可以使用三元運算這樣的事情:多語句對於三元運算符PHP

var string = ""; 
if (something) { 
    string = "foo" 
} else if (somethingElse) { 
    string = "bar"; 
} else if (bla) { 
    string = "pool"; 
} else if (xxxxx) { 
    string = "coffee"; 
} else { 
    string = ""; 
} 

至於我記得,我可以在Java語言中實現它:

String string = something?"foo":somethingElse?"bar":bla?"pool":xxxxx?"coffee":""; 

但我不確定PHP,我甚至不確定在這種情況下是否可以使用三元運算符。

+7

可以,但不要!一系列if/elseif/else語句的嵌套三元運算符的可讀性和易理解性更強......並且調試成爲疼痛管理的練習。 PHP文檔警告關於嵌套三元組與反直覺有關的原因 –

+0

或者可能是'switch-case'。 –

+0

@MarkBaker我明白了,謝謝。 – PepsiGam3r

回答

0

E.g

if (something) { 
     string = "foo" 
    } else if (somethingElse) { 
     string = "bar"; 
    } else if (bla) { 
     string = "pool"; 
    } else if (xxxxx) { 
     string = "coffee"; 
    } else { 
     string = ""; 
} 

等同於PHP

(something) ? 'foo' : ((somethingElse) ? 'bar' : ((bla) ? 'pool' : ((xxxxx) ? 'coffe' : ''))); 
+0

謝謝,但那些括號讓我發瘋,你能解釋發生了什麼? – PepsiGam3r