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

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

PHPz
PHPzオリジナル
2023-04-25 09:09:39624ブラウズ

PHP では、配列は非常に一般的なデータ型であり、多くの場合、配列を処理する必要があります。ただし、実際の開発では、配列に null 値が含まれる可能性が非常に高いため、この時点でこれらの null 値を削除する必要があります。では、PHP で配列から null 値を削除するにはどうすればよいでしょうか?次に、この記事では一般的に使用されるいくつかの方法を紹介します。

方法 1: array_filter() 関数を使用する

array_filter() 関数は、非常に一般的に使用される PHP 関数です。その機能は、配列内の要素をフィルタリングすることです。次に従って配列をフィルタリングできます。独自に定義したフィルター関数に、 の要素を追加します。これを使用すると、配列から null 値を簡単に削除できます。具体的な実装方法は以下のとおりです。

$arr = array('apple', null, 'orange', null, 'banana');
$arr = array_filter($arr, function($v){return !is_null($v);});
print_r($arr);

上記のコードでは、まず配列を定義し、array_filter()関数で条件を満たす要素を絞り込み、処理結果を代入しています。初期配列。最後に処理された配列を出力します。実行結果は次のとおりです。

Array
(
    [0] => apple
    [2] => orange
    [4] => banana
)

ご覧のとおり、配列内の null 値が正常に削除されました。

方法 2: foreach ループを使用する

array_filter() 関数の使用に加えて、foreach ループを使用して配列内の null 値を削除することもできます。具体的な実装方法は次のとおりです。

$arr = array('apple', null, 'orange', null, 'banana');
$newArr = array();   //定义一个新数组,存放除去null值的元素
foreach($arr as $value){
    if(!is_null($value)){    //判断是否是null值
        array_push($newArr, $value);   //将非null值插入新数组
    }
}
print_r($newArr);   //输出新数组

上記のコードでは、まず初期配列を定義し、次に null 値を除く要素を格納する新しい配列を定義します。次に、foreach ループを使用して初期配列の各要素を反復処理し、要素が null 値でない場合は、その要素を新しい配列に挿入します。最後に処理された配列を出力します。実行結果は方法 1 と同じです。

方法 3: array_diff() 関数を使用する

配列内の null 値を削除する 3 番目の方法は、array_diff() 関数を使用することです。配列やその他の配列を使用して、集合演算関数を実装できます。ここでは、元の配列から null を削除して新しい配列を生成し、元の配列との差分を求めて null 値が削除された配列を取得できます。具体的な実装方法は次のとおりです。

$arr = array('apple', null, 'orange', null, 'banana');
$newArr = array_diff($arr, array(null));   //生成新数组,并与原数组求差集
print_r($newArr);    //输出新数组

上記のコードでは、最初に初期配列を定義し、次に array_diff() 関数を使用して、null 値を含まない要素で新しい配列を形成します。最後に新しい配列を出力します。

概要

PHP で配列内の null 値を削除するには、array_filter() 関数を使用する方法、foreach ループを使用する方法、array_diff() 関数を使用する方法の 3 つがあります。このうち、array_filter() 関数と foreach ループを使用する方法は比較的一般的な実装方法であり、array_diff() 関数を使用する方法は比較的簡単です。特定の開発では、実際のニーズに応じて対応する方法を選択できます。

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

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