どうも、ちょげ(@chogetarou)です。
連想配列(associative array)のNullの値を全て削除する方法を紹介します。
方法

連想配列(associative array)のNullの値を全て削除するには、array_filter()を使います。
まず、array_filter()を呼び出します。
array_filter()の第1引数に対象の連想配列、第2引数に1つの引数を持つ関数を指定します。
そして、第2引数の関数で、Nullでない引数で「true」となる条件式を返します。
//arr=対象の連想配列
$result = array_filter($arr, function ($value) { return $value !== null; });
上記のarray_filter()は、第1引数の連想配列(associative array)からNullの値をキーごと削除した連想配列を生成します。
使用例
<?php
$numbers = [
"one" => 1,
"いち" => null,
"two" => 2,
"three" => 3,
"さん" => null,
"三" => null,
"four" => 4,
"five" => 5,
"ご" => null,
];
$result = array_filter($numbers, function ($value) { return $value !== null; });
print_r($result);
?>
出力:
Array
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
[five] => 5
)
コメント