2011-05-08 27 views
1

當我們碰到這樣的:

if (null === ($bar = $foo->getBar())) { 

} 

了我們在這一行做了三件事? 我們是:

1)聲明一個變量。

2)屬性表示變量的值。

3)檢查該變量值是否爲空。

回答

5

燁,酷似:

$bar = $foo->getBar(); 
if (null === $bar) { 

} 

$bar將接收由$foo->getBar()返回的值,然後將表達測試是否該(賦值表達式,其是得到了分配給$bar的值的結果)是=== null。 (如果這是第一次使用的$bar,那麼它創建一個新的變量)

+0

尼斯。非常感謝。我喜歡那個重要的精度。只有在$ bar沒有被創建之前,它纔會創建它。 – MEM 2011-05-08 11:40:24

1

它等於:

$bar = $foo->getBar(); 
if ($bar === null) { 

} 

記住,有===之間的區別==。 ===是精確的比較運算符,因此0 == null爲true,但0 === null爲false。 「」== null爲true,「」=== null爲false。

+0

感謝您的無效添加。 :) – MEM 2011-05-08 11:39:48