PHP の多次元配列から空の値を削除する方法を教えてください
再帰関数を使用して空の値を除去することにより、多重配列を走査することができます。
サンプルコードを次に示します。
function removeEmptyValues(&$array) {
foreach ($array as $key => &$value) {
if (is_array($value)) {
removeEmptyValues($value);
} else {
if (empty($value)) {
unset($array[$key]);
}
}
}
}
使い方のサンプル:
$array = array(
'name' => 'John',
'age' => '',
'address' => array(
'street' => '123 Main St',
'city' => '',
'state' => 'CA'
)
);
removeEmptyValues($array);
print_r($array);
ネイティブの日本語で文章を言い換えてください。1つのオプションのみが必要です:
Array
(
[name] => John
[address] => Array
(
[street] => 123 Main St
[state] => CA
)
)
例として、再帰関数removeEmptyValuesは多次元配列を走査し、値が配列であれば再帰的にその関数を呼び出し続けます。値が空の値であれば unset 関数を使用して配列から削除します。最終的に空でない値のみの配列が残ります。