检查对象是否为空(最短路)

时间:2017-07-12 12:52:31

标签: php yii2


我试着检查对象是否为空 在 Groovy 中,我可以查看:

System.out.println(object?.object2?.property)

换句话说

if(object != null){
    if(object.object2 != null){
        System.out.println(object.object2.property);
    }
}

现在我想在PHP中使用相同的内容 我怎样才能以最短的方式写出相同的内容?

object->object2->property

object2可以为null 如果我试图获得object2的属性,我会得到一个NPE

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

你可以这样做:

$userFirstName[$var] = $result['user_first_name'];
$ownerFirstName[$var] = $result['owner_first_name'];

如果您正在使用PHP7,您也可以执行null coalesce operator

if( ! $object)
if($object !== null)

在你的情况下

$object1 ?? $object2

答案 1 :(得分:1)

您可以在整个对象上使用isset功能

(!&%)

答案 2 :(得分:1)

8PHP 版本中,您可以使用 Nullsafe 运算符如下:

<块引用>
$prop = object?->object2?->property;

答案 3 :(得分:0)

嗨我们有一个函数is_null()或isset()

if(isset(object, object->object2)){

        echo(object.object2.property);

}