有时候预期的结果应该是null,有时则不是(如果它不是null,我想要解析代码函数x。如果不是null,代码y解析)..不确定如何正确处理这个:
$myID = is_object($widget->getParent()->getId()) ? $widget->getParent()->getId() : '';
if (isset($myID)){
//....code here
结果:
PHP Fatal error: Call to a member function getId() on null in \htdocs\program\widget\Controller\WidgetController.php on line 212
第212行:
$myID = is_object($widget->getParent()->getId()) ? $widget->getParent()->getId() : '';
我也尝试过各种变体:
is_object()
is_array()
null ==
null !==
似乎没有允许代码按预期处理。
答案 0 :(得分:1)
听起来像$ widget-> getParent()返回null可能存储并首先检查它?我猜测getParent()可能会在根元素上返回null。
$myParent = widget->getParent();
if($myParent){
$myID = is_object($myParent->getId()) ? $myParent->getId() : '';
if (isset($myID)){
//....code here
}
} else {
// Error handling
}