ホームページ >バックエンド開発 >PHPの問題 >PHPで配列内のnull値を削除する方法

PHPで配列内のnull値を削除する方法

PHPz
PHPzオリジナル
2023-04-19 10:04:33744ブラウズ

PHP は、Web 開発の分野で広く使用されているスクリプト言語です。開発では配列を操作する必要がよくありますが、null 値を含む配列を見つけた場合、配列を削除する必要がある場合があります。この記事では、PHPを使って配列内のnull値を削除する方法を紹介します。

1. トラバースと削除

最も簡単な方法は、null 値をトラバースして削除することです。まず、null 値を含む配列を作成します。

$arr = array(1, 2, null, 4, null, 6);
print_r($arr);

出力結果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 
    [3] => 4
    [4] => 
    [5] => 6
)

foreach ループを通じて配列をトラバースし、unset() を使用して null 値を含む要素を削除できます。

foreach ($arr as $key => $value){
    if(is_null($value)){
        unset($arr[$key]);
    }
}
print_r($arr);

出力結果:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)

unset()関数を使用して配列内の要素を削除し、is_null()関数を使用してnullかどうかを判断するため、すぐに削除できます。配列内の null 要素。

2. array_filter() 関数

もう 1 つの方法は、PHP 組み込み関数 array_filter() を使用することです。この関数は配列を受け入れ、新しい配列を返します。指定されたコールバック関数を通じて元の配列の値をフィルタリングし、新しい配列を返します。コールバック関数が true を返した場合、要素は保持され、false を返した場合、要素は削除されます。

したがって、要素が null かどうかを判断する匿名関数を作成し、array_filter() 関数を使用してフィルタリングできます。

$arr = array(1, 2, null, 4, null, 6);
$new_arr = array_filter($arr, function($value){
    return $value !== null;
});
print_r($new_arr);

出力結果:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)

3. array_diff() 関数

array_diff() 関数を使用して配列差分演算を実行し、配列から null 値要素を削除することもできます。元の配列を削除します。このメソッドでは、元の配列と null 値のみを含む配列との差分演算が必要で、その結果は null 値を含まない新しい配列になります。

$arr = array(1, 2, null, 4, null, 6);
$null_arr = array(null);
$new_arr = array_diff($arr, $null_arr);
print_r($new_arr);

出力結果:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)

4. array_map() 関数

最後に、array_map() 関数を使用して配列の null 値をフィルタリングできます。この関数は配列を受け入れ、新しい配列を返します。元の配列の値は、指定されたコールバック関数を通じて処理され、新しい配列が返されます。

array_map() 関数を使用して、null 値を任意の値に変換し、フィルターで除外します。ここでは、null 値を空の文字列に変換してからフィルター処理します。

$arr = array(1, 2, null, 4, null, 6);
$new_arr = array_map(function($value){
    return $value ?? '';
}, $arr);
print_r($new_arr);

出力結果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 
    [3] => 4
    [4] => 
    [5] => 6
)

?? 演算子を使用して null 値を空の文字列に変換し、array_filter() 関数を使用してフィルター処理を行い、空の文字列を含まない新しい配列を取得します。 null 値が含まれています。

この記事では、PHP 配列の null 値を削除する 4 つの方法、つまりトラバーサル削除、array_filter() 関数、array_diff() 関数、array_map() 関数を紹介します。シナリオに応じて適した方法が異なるため、開発時に実際の状況に応じて適切な方法を選択できます。

以上がPHPで配列内のnull値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。