2010-06-10 47 views
0

可能重複:
What is the PHP ? : operator called and what does it do?解釋這個PHP速記

我喂就像一個混日子,但我並不完全瞭解情況,在此代碼:

$var .= ($one || $two) ? function_one($one, $another) : function_two($two, $another); 

這是否說如果$ one或$ two,那麼$ var等於fuction_one(),否則function_two()?使用這種語法的目的是什麼 - 速度?

+3

好醇」三元:http://stackoverflow.com/questions/1080247/what-is-the-php-operator-called-and-what-does-它做 – 2010-06-10 20:40:06

+1

這是封閉的,但關於它的用途 - 速度和更乾淨的代碼,如下例所示:http://en.wikipedia.org/wiki/Conditional_operator#Usage – 2010-06-10 20:50:45

+0

感謝大家的壓倒性反應! – buley 2010-06-10 20:56:22

回答

4

如果任$one是真實的,或$two是真實的,那麼致電function_one的結果被附加到$var。否則,調用function_two的結果將附加到$var

它基本上簡寫:

if ($one || $two) { 
    $var .= function_one($one, $another); 
} else { 
    $var .= function_two($two, $another); 
} 
1

function_one()function_two()都返回一個值。

您串聯$var到基於評估$one$two,如果$one$tow分配或返回true的從function_one()返回爲級聯否則從function_tow()返回的值是一個if語句這些函數之一的返回值。

3

$var將追加到自身的價值從function_one()如果$one$two評估爲true的回報,並會的function_two()結果,否則追加。

1

$ var。=($ one || $ two)? function_one($ one,$ another):function_two($ two,$ another);與function_one的輸出()或function_two()

如果$之一爲真,則執行function_one(

追加$ VAR)其他執行function_two()