5

私は次のJSONを持っています:

$p={
  "main1" : [
    {
      "child1" : valueA,
      "child2" : valueB,
      "child3" : valueC,
    },
    {
      "child1" : value1,
      "child3" : value3,
    },
  ],
  "main2" : "valueMain2"
}

要素child2が存在するかどうかをチェックしてから、値を取得する必要があります。私はjson_decodeを使用しています:

$response = json_decode($p,true);

PHPに要素が存在するかどうかを確認するにはどうすればよいですか?別の機能を作成する必要がありますか、それとも組み込みの機能がありますか?

4

3 に答える 3

11

配列のキーが存在するかどうかを確認するのと同じ方法です。

isset($array['key'])またはarray_key_exists('key',$array)

于 2013-03-16T01:23:03.247 に答える
1

これが私がやってきた方法です。

$child2exists = count($response['main1']['child2']);

If ($child2exists == 1) 
{ 
    echo "EXISTS"; 
}
else
{ 
    echo "DOESNT EXIST"; 
}

お役に立てれば。

于 2013-03-16T01:27:25.970 に答える
1

2022 / php 5.1.0以降では、

$objJsn    = json_decode    ( $strJsnFromFile     );
$bolExists = property_exists( $objJsn, 'NodeName' );

https://www.php.net/manual/en/function.property-exists.phpから配列関連の答えはphp7.4.9では間違っています

于 2022-01-08T15:47:22.327 に答える