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

配列(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を削除した配列を生成します。
使用例
<?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を削除した配列を生成します。
使用例
<?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]);
コメント