2012-02-17 52 views
1

分配一個PHP對象屬性的值將在PHP以下工作:檢查和內部的條件

if ($test = $object->property) { 
    // Do stuff with $test 
} 

基本上,PHP仍然會吐出通知書即使$對象 - >屬性未設置。我想查看是否可以檢查值是否已設置,並將屬性分配給條件中的變量。否則,我會做這樣的事情:

if (isset($object->property) { 
    $test = $object->property; 
    // Do stuff with $test 
} 

回答

3
if (isset($object->property) ? $test = $object->property : false) { 
    // Do stuff with $test 
} 
0

這只是一般的好做的第二種方式。也正因爲你會得到的問題,如果$object->property是falsy值。從左至右

0

()所有元素進行測試。如果其中一個錯誤,那麼下面的錯誤不會被測試,所以你不會有任何錯誤。

if ($object && is_object($object) && isset($object->property)) 
{ 
    $test = $object->property; 
    // Do stuff with $test 
} 

編輯:重新檢查你的問題:你想分配$object->property括號內!我問你why so anxious?該構造很不錯(我經常用它),但這樣做使事情變得更簡單而不是相反的時候!