我的服务有时会返回如何检查属性是否定义并在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