PHPで2階層の配列のキーと値を取り出す方法


  1. foreachループを使用する方法:

    $array = [
    'key1' => [
        'subkey1' => 'value1',
        'subkey2' => 'value2',
    ],
    'key2' => [
        'subkey3' => 'value3',
        'subkey4' => 'value4',
    ],
    ];
    foreach ($array as $key => $subarray) {
    foreach ($subarray as $subkey => $value) {
        echo "キー: $key, サブキー: $subkey, 値: $value";
    }
    }
  2. array_walk_recursive関数を使用する方法:

    $array = [
    'key1' => [
        'subkey1' => 'value1',
        'subkey2' => 'value2',
    ],
    'key2' => [
        'subkey3' => 'value3',
        'subkey4' => 'value4',
    ],
    ];
    array_walk_recursive($array, function ($value, $key) {
    echo "キー: $key, 値: $value";
    });
  3. 再帰的な関数を使用する方法:

    $array = [
    'key1' => [
        'subkey1' => 'value1',
        'subkey2' => 'value2',
    ],
    'key2' => [
        'subkey3' => 'value3',
        'subkey4' => 'value4',
    ],
    ];
    function processArray($array, $parentKey = '') {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            processArray($value, $parentKey . $key . '.');
        } else {
            echo "キー: $parentKey$key, 値: $value";
        }
    }
    }
    processArray($array);

これらの方法を使用することで、2階層の配列のすべてのキーと値を取得することができます。適宜、自分の要件に合わせてコードを調整してください。