2016-11-09 17 views
0

JSON文字列をデコードした後、たくさんのネストされたオブジェクトを取得します。例えばオブジェクトがオブジェクトのツリー内に存在するかどうかを調べる

{ 
    clients: 
    { 
     latest: 
     { 
      business: 
      { 
       name: 
       { 

       } 
      }, 
      personal: 
      { 
       name: 
       { 

       } 
      } 
     }, 
     first: 
     { 

     } 
    } 
} 

は、今私はlatestが、私はlatestので、私は(非オブジェクトのプロパティを取得しようとしているの通知を取得しますが存在しない場合、すなわち$result->clients->latest->business->name

にアクセスしようとしています存在しないので、オブジェクトではないので、->nameと呼ぶことはできません。 「オブジェクトのパスは」あなたは配列にJSONをconvretできjson_decode($result,true)機能により

isset($result) ? isset($result->clients) ? isset($result->clients->latest) ... 

答えて

0
$array=json_decode($result,true); 
if(isset($array['clients']['latest']['business']['name'])) 
{ 
//do something... 
} 

を行うと、値が設定されているかどうかそしてちょうどチェックせずに存在している場合

はどのようにして確認することができます。

+0

を、1'ed +することができ良い答えを得るために多くを説明してください – Bobot

0

トライキャッチ使用します。良い方法が、そのコメントthatsの

try{ 
    $name= $result->clients->latest->business->name; 
}catch(Exception $e){ 
    $name = ''; 
} 
関連する問題