2011-12-05 62 views
0

我見過這樣的事情在WordPress的使用:這個PHP技術叫做什麼?

if($aVariable=aFunction()){ 
    // If aFunction() returned true 
} 

這是什麼叫和我在哪裏可以找到關於它的更多信息?

+1

首先執行'aFunction()',然後將其返回值分配給名爲'$ aVariable'的變量,然後將返回值用作if語句的布爾值。這就是它的全部。 –

+2

這個問題爲什麼downvoted?如果你對這個問題有疑問,至少應該有禮貌地告訴@Linksku爲什麼! –

回答

4

「內聯分配」就是我所說的。

它等效於:

$aVariable=aFunction(); 
if($aVariable){ 
    // If aFunction() returned true 
} 

而如果不使用$ aVariable別的地方,這是毫無意義的做到這一點。 因此,其他地方需要一個有用的$ aVariable讀取。

除了當您需要多次檢查一個函數的結果時,它可以節省一些擊鍵次數之外,沒有什麼其他可以說的。

+0

很多時候,它也只是一個錯字,意外地分配給$ aVariable而不是僅僅比較(儘管在這種情況下,評論似乎表明他們是這樣意思的)。 – Thilo

+0

如果輸入錯誤是「==」與「=」,那麼這可能是正確的。我懷疑WordPress可能是相當不錯的,所以它不太可能是OP發現它的錯字。 –

-1

它被稱爲「條件」。 documentation有詳細信息。

+0

很確定OP指的是在'if'表達式內調用內聯函數,而不是在討論'if'語句_just_。 – nickb

+0

@nickb:OP歡迎澄清她的問題,以解釋她實際上在問什麼...... –

0

這是可行的,因爲賦值表達式的值是賦值。

$foo = 'bar'是轉讓表達式。該表達式將值'bar'賦值給變量$foo並且表達式作爲整體也導致值'bar'

if()期望它將評估爲truefalse括號內的表達式

所以它歸結如下:

if ($aVariable = aFunction()) 
if (value of expression, which is whatever aFunction() returned) 
if (true/false evaluation of value of expression) 

我不知道是否有特定的名稱爲。