2017-07-12 8 views
1


オブジェクトがヌルかどうかを確認しようとします。
Groovyの
私がチェックすることができます。つまりオブジェクトがヌルかどうかチェックする(最短方法)

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

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

を今私は、私は、最短の方法で同じことを書くことができますどのようにPHP
で同じことをしたいですか?私はNPEに助けを

感謝を取得object2はのプロパティを取得しようとした場合

object->object2->property 

object2はは
nullにすることができます。

+0

'<?phpのエコー(ISSET($オブジェクト)&& $オブジェクト - > object2は!= nullの)?オブジェクト - > object2- >プロパティ: 'nullまたは空'?> 'それはすべて –

+0

is_null()を探していますか?または単にif(object-> object2-> property)の 'if''に入れてください。 – GrumpyCrouton

+0

私の問題は、object2がnullの場合、object2 nullの場合です。nullオブジェクトからプロパティを取得しようとすると例外が発生します。 –

答えて

1

あなたが行うことができます。

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

あなたがPHP7を使用している場合

if($object && $object->object2) 
+0

'!=='が正しくないif文から1つを除きますか? –

+0

タイプを比較するためには、そのタイプを比較するのが安全です – Sepultura

1

あなたはissetを使用することができますまた、あなたの場合にはnull合体演算子

$object1 ?? $object2 

を行うことができますオブジェクト全体の関数

if (isset($object->object2->property)) 
    echo 'It exists!'; 
else 
    echo 'It does not exist!'; 
0

こんにちは我々は(関数IS_NULLを持っている)またはISSET()

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

     echo(object.object2.property); 

} 
+0

これはPHPコードではありません – Jerodev

+0

PHPって何を意味しますか? isset()は複数の変数をテストできます – volkinc

+0

@volkinc 'isset'はPHPですが、' System.out.println'はJavaです。さらに、PHPでは '.'の代わりに' - > 'を使ってクラスのプロパティにアクセスします。 PHPとYiiの質問で – crazyloonybin

関連する問題