[PHP]配列(array)のNullの値を全削除するには?

PHP

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

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

スポンサーリンク

方法

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

配列(array)のNullの値を全削除する方法は、2つあります。

array_filter()

1つは、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引数の配列(array)からnullを削除した配列を生成します。

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

使用例

<?php
$numbers = [null, 1, 2, null, 3, 4, null, 5, null, null];

$result = array_filter($numbers, function($value) { return $value !== null; });

print_r($result);
?>
出力:
Array
(
    [1] => 1
    [2] => 2
    [4] => 3
    [5] => 4
    [7] => 5
)

array_diff()

もう1つは、array_diff()を使う方法です。

まず、array_diff()を呼び出します。

そして、array_diff()の第1引数に対象の配列、第2引数にNullを要素に持つ配列を指定します。

//arr=対象の配列
$result = array_diff($arr, [null]);

上記のarray_diff()は、第1引数の配列(array)からnullを削除した配列を生成します。

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

使用例

<?php
$numbers = [null, 1, 2, null, 3, 4, null, 5, null, null];

$result = array_diff($numbers, [null]);

print_r($result);
?>

出力:
Array
(
    [1] => 1
    [2] => 2
    [4] => 3
    [5] => 4
    [7] => 5
)

まとめ

配列(array)のNullの値を全削除する方法は、2つあります。

  • array_filter()を使う方法
    $result = array_filter($arr, function($value) { return $value !== null; });
  • array_diff()を使う方法
    $result = array_diff($arr, [null]);

コメント

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