2013-08-21 94 views
1

我想將php中的一個小條件轉換爲三元運算符。三元運算符中的多個語句

if($i==2) { 
    $third="third"; 
    $i=0; 
} else { 
    $third=""; 
} 

如何將其轉換爲三元運算符? 謝謝。

+2

要問,爲什麼? – Phil

+6

爲什麼要將一個完全有效且可讀的條件轉換爲三元運算符? ('$ third = $ i == 2?$ i = 0,「third」:「」'應該可以工作,儘管完全不可讀) – knittl

+0

您不能將其轉換爲三元運算符代碼。 –

回答

3

因爲我很無聊:

list($i, $third) = array(($not2 = ($i != 2)) * $i, ($not2) ? '' : 'third'); 

list($i, $third) = ($i == 2) ? array(0, 'third') : array($i, ''); 

也許

$third = ($i == 2 ? "third" : '') and $i = 0; 

$i *= !($third = ($i == 2) ? 'third' : ''); 

但是不要在現實生活中這樣做。認真。你有一個完全可讀的if;沒有理由把它變成這樣的混亂。

14

您可以使用這樣的格式:

$i==2 ? ($third = "third" AND $i = 0) : ($third=""); 
+1

令人敬畏的東西,是 –

+0

+1真棒的答案。 – mithunsatheesh

+0

這是奇怪的,但在我的情況下,它的工作,當我有這樣的語法: $ i == 2? ($ third =「third」。$ i = 0):($ third =「」); –