2017-07-27 15 views
0

私は配列を持っていて、その配列内にはもっと多くの要素があります。私は、特定の要素がPHPが配列キーが存在するかどうかを調べる

$jsondata = file_get_contents('php://input'); 
    $jsonobj = json_decode($jsondata, true); 

可能性1

$jsonobj=Array(
     [user] => Array 
      (
       [userId] => 1501148600220 
       [locale] => en-US 
       // no TOKEN 
      ) 
); 

可能性2

$jsonobj=Array(
      [user] => Array 
       (
        [userId] => 1501148600220 
        [locale] => en-US 
        [token] => 12345 // TOKEN exist 
       ) 
       ); 

follwingが復号化されたJSONで存在するかどうかを確認します。
のReceived JSONは時々かもしれないは要素「トークン」が含まれない場合があります。私は$のjsonobjが要素「トークン」を持っているかどうかを確認したい

if (array_key_exists('token', $jsonobj)) { 
    echo "Element is in the array"; 
    } 

は、どのように私は私の配列の構造に応じて、これをチェックしますか?

更新

場合によっては、jsonobjに何も含まれないことがあります。それは空であってもよい。それが空である場合、私はエラーに取得

PHP Warning: array_key_exists() expects parameter 2 to be array 
+0

JSON _string_をデコードしてオブジェクトまたは配列を作成し、その要素またはプロパティが存在するかどうかを確認してください。ここでの質問は何ですか? – arkascha

答えて

2
あなただけの多次元 $jsonobj配列に変更されたこの

if (array_key_exists('token', $jsonobj['user'])) { 
    echo "Element is in the array"; 
} 

同様

をインデックス'ユーザー'を渡す必要があり

: -

$jsonobj=json_decode($jsonobj,true); 
if(!empty($jsonobj['user'])&&is_array($jsonobj['user'])) 
{ 
    if (array_key_exists('token', $jsonobj['user'])) { 
     echo "Element is in the array"; 
    } 
} 
+0

私はエラーを取得し、PHPの警告:array_key_exists()パラメータ2は、配列 – Elo97234c

+0

完璧な作業を修正答え –

+0

を試してみてくださいことを期待! – Elo97234c

3
if (array_key_exists('token', $jsonobj['user'])) { 
    echo "Element is in the array"; 
} 
+0

PHPの警告:array_key_exists()は、パラメータ2が配列 – Elo97234c

+0

であると予期しています。それは空の配列の場合でした。ちょうど誰かがそれを整理したのを見ました。ニース – astrocrack

1

あなたはuserあるご$jsonobj配列のキーを確認する必要があります。 それで、あなたはuser配列のキーを確認したい場合、あなたはこのように書く必要があり、

if (array_key_exists('token', $jsonobj['user'])) 
{ 
    echo "Element is in the array"; 
} 

このManualを参照してください。

1
foreach($jsonobj as $obj => $val){ 
    if(is_array($val)){  
     if(array_key_exists('token', $val)){ 
      echo 'exist'; 
     }else{ 
      echo 'not exist'; 
     } 
    } 
} 
関連する問題