PHPで3次元配列の中にある空の値を削除する方法

3次元配列から空の値を削除するには、再帰関数を使用して配列を走査し、空の値を削除できます。以下にサンプルコードを示します。

function removeEmptyValues(&$array) {
    foreach ($array as $key => &$value) {
        if (is_array($value)) {
            removeEmptyValues($value);
            if (empty($value)) {
                unset($array[$key]);
            }
        } else {
            if (empty($value)) {
                unset($array[$key]);
            }
        }
    }
}

// 示例数组
$array = [
    'a' => [
        'b' => [
            'c' => 'value1',
            'd' => '',
        ],
        'e' => [
            'f' => 'value2',
            'g' => '',
        ],
    ],
    'h' => '',
];

removeEmptyValues($array);

print_r($array);

配列を再帰的に走査して空の値を削除するには、removeEmptyValues() 関数を使用します。現在の要素が配列である場合、再び removeEmptyValues() 関数が呼び出され、そのサブ配列が処理されます。現在の要素が空の値である場合、unset() 関数を使用して配列から削除されます。

上記コードを実行すると、以下のような結果が出力されます。

Array
(
    [a] => Array
        (
            [b] => Array
                (
                    [c] => value1
                )
            [e] => Array
                (
                    [f] => value2
                )
        )
)

ご覧の通り、空の値は正常に削除されました。

bannerAds