PHPでJSON内のすべての配列キーを取得する方法


  1. json_decodeとarray_keysを使用する方法:

    $json = '{"key1": "value1", "key2": "value2", "key3": "value3"}';
    $data = json_decode($json, true);
    $keys = array_keys($data);
    print_r($keys);

    出力:

    Array
    (
       [0] => key1
       [1] => key2
       [2] => key3
    )
  2. foreachループを使用する方法:

    $json = '{"key1": "value1", "key2": "value2", "key3": "value3"}';
    $data = json_decode($json, true);
    $keys = [];
    foreach ($data as $key => $value) {
       $keys[] = $key;
    }
    print_r($keys);

    出力:

    Array
    (
       [0] => key1
       [1] => key2
       [2] => key3
    )
  3. array_walk_recursiveを使用する方法:

    $json = '{"key1": "value1", "key2": "value2", "key3": "value3"}';
    $data = json_decode($json, true);
    $keys = [];
    array_walk_recursive($data, function ($value, $key) use (&$keys) {
       $keys[] = $key;
    });
    print_r($keys);

    出力:

    Array
    (
       [0] => key1
       [1] => key2
       [2] => key3
    )

これらの方法を使えば、PHPでJSON内のすべての配列キーを取得することができます。適宜、自分のコードに組み込んで利用してください。