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

Mar*_*hör 7 php yii2


我尝试检查一个对象是否为空。
在Groovy中我可以检查:

System.out.println(object?.object2?.property)
Run Code Online (Sandbox Code Playgroud)

换句话说

if(object != null){
    if(object.object2 != null){
        System.out.println(object.object2.property);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在 PHP 中实现相同的功能,
我怎样才能以最短的方式编写相同的内容?

object->object2->property
Run Code Online (Sandbox Code Playgroud)


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

感谢帮助。

Sep*_*ura 1

你可以做:

if( ! $object)
if($object !== null)
Run Code Online (Sandbox Code Playgroud)

如果您使用 PHP7,您还可以执行空合并运算符

$object1 ?? $object2
Run Code Online (Sandbox Code Playgroud)

在你的情况下

if($object && $object->object2)
Run Code Online (Sandbox Code Playgroud)