當我們碰到這樣的:
if (null === ($bar = $foo->getBar())) {
}
了我們在這一行做了三件事? 我們是:
1)聲明一個變量。
2)屬性表示變量的值。
3)檢查該變量值是否爲空。
?
當我們碰到這樣的:
if (null === ($bar = $foo->getBar())) {
}
了我們在這一行做了三件事? 我們是:
1)聲明一個變量。
2)屬性表示變量的值。
3)檢查該變量值是否爲空。
?
燁,酷似:
$bar = $foo->getBar();
if (null === $bar) {
}
$bar
將接收由$foo->getBar()
返回的值,然後將表達測試是否該(賦值表達式,其是得到了分配給$bar
的值的結果)是=== null
。 (如果這是第一次使用的$bar
,那麼它創建一個新的變量)
它等於:
$bar = $foo->getBar();
if ($bar === null) {
}
記住,有===之間的區別==。 ===是精確的比較運算符,因此0 == null爲true,但0 === null爲false。 「」== null爲true,「」=== null爲false。
感謝您的無效添加。 :) – MEM 2011-05-08 11:39:48
首先執行函數getBar(),它返回分配給變量$ bar的內容。然後,如果$ bar等於null並且它們是相同類型(空類型),則operator ===返回true。
http://www.php.net/manual/en/language.operators.comparison.php
尼斯。非常感謝。我喜歡那個重要的精度。只有在$ bar沒有被創建之前,它纔會創建它。 – MEM 2011-05-08 11:40:24