我的服務有時會返回如何檢查屬性是否定義並在PHP中提供替代?
$business->price
集,有時不和我的代碼
$feature['properties']['price'] = $business->price;
拋出錯誤
Undefined property: stdClass::$price'
在這種情況下。
什麼是最短的方式來檢查屬性設置,如果它是,然後返回它的值,但如果它不是那麼返回一些預定義的值,如0
或NULL
?
我的服務有時會返回如何檢查屬性是否定義並在PHP中提供替代?
$business->price
集,有時不和我的代碼
$feature['properties']['price'] = $business->price;
拋出錯誤
Undefined property: stdClass::$price'
在這種情況下。
什麼是最短的方式來檢查屬性設置,如果它是,然後返回它的值,但如果它不是那麼返回一些預定義的值,如0
或NULL
?
三元運營商,如果它`不把價格定爲0
$feature['properties']['price'] = $business->price ? $business->price : 0;
這不會顯示「未定義的屬性」消息嗎? – Terminus
if(!empty($business->price) && isset($business->price)){//DoAction}
您應該添加您發佈的代碼的說明。這將有助於未來的用戶訪問這篇文章,瞭解它的工作原理。 –
它始終是安全的PHP使用三元的運營商。下面是一個例子,
$retVal = (condition) ? a : b ;
在你的情況下,@hassan
已經說過,
$feature['properties']['price'] = (isset($business->price) ? $business->price : 'some_default');
但是,這裏最大的錯誤是你的代碼如何處理類。在嘗試使用isset函數之前,首先應該儘量避免首先出現錯誤。我認爲你的代碼可能並不完善。
'$ feature ['properties'] ['price'] =(isset($ business-> price)?$ business-> price:'some_default');' – hassan