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
)
)
)
ご覧の通り、空の値は正常に削除されました。