[PHP]連想配列のNullの値を全削除するには?

PHP

どうも、ちょげ(@chogetarou)です。

連想配列(associative array)のNullの値を全て削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

連想配列(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の値をキーごと削除した連想配列を生成します。

array_filter()は、対象の連想配列に影響を与えません。

使用例

<?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
)

コメント

タイトルとURLをコピーしました