2011-05-03 83 views
1

可能重複:
What is the PHP ? : operator called and what does it do?PHP編程語法問題'x? x:x;'

我已經多年PHP編程,但從來沒有明白這個語法確實還是手段。我希望你們可以向我解釋,它的時候,我知道了答案:

list($name, $operator) = (strpos($key, '__')) ? explode('__', $key) : array($key, null); 

具體來說,我很好奇的東西嗎?某事:某事;

+0

這是一個條件運算符:http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary – 2011-05-03 14:32:40

回答

2

這是if() { } else {}的簡寫。

if($i == 0) { 
    echo 'hello'; 
} else { 
    echo 'byebye'; 
} 

是一樣的: '?'

echo $i == 0 ? 'hello' : 'byebye'; 
+3

不,不完全是。 – 2011-05-03 14:33:07

0

後的第一個語句如果在'?'之前的第一個表達式被執行是真的,如果不是最後一個被執行。它也評估爲執行的表達式的值。

0

其條件運算符只是想,如果用通俗的話說,如果在一條線

(condition) ? statement1 : statement2

如果條件true然後執行語句1其他語句2

0

這是純粹的if else三級操作

if(a==b) { 
    c = 3; 
} else { 
    c = 4; 
} 

這是一樣的

c = (a==b) ? 3:4;