PHP プログラミングでは、データ クリーニングやデータ フィルタリングなどのシナリオで、配列内の null 値を削除する必要がある状況によく遭遇します。 PHP でこれを実現するにはいくつかの方法があり、以下でそれらを長所と短所とともに詳しく説明します。
方法 1: array_filter() 関数を使用する
array_filter() 関数は、カスタム関数の条件を満たさない要素がフィルターで除外された新しい配列を返すことができます。要素が null かどうかを判断するカスタム関数を構築できます。
サンプル コードは次のとおりです。
$array = array("foo", "", "bar", null, "baz"); $new_array = array_filter($array, function($item) { return !empty($item); });
この例では、$array
配列には、# までの空の文字列、NULL 値、および空ではない要素が含まれています。 ##array_filter( ) 関数を使用すると、null 値を含まない新しい配列、つまり
$new_array が得られます。
array_filter() 関数はデフォルトで次の値を削除することに注意してください:
array_filter() この関数は使いやすく、フィルター条件をカスタマイズできます。
$array = array("foo", "", "bar", null, "baz"); foreach($array as $key => $value) { if(!$value) { unset($array[$key]); } }
$array 配列を走査します。要素の値が false の場合、つまり、 null 値と判定された場合は、
unset() 関数を使用して要素を削除します。
array_filter() 関数と比較して、このメソッドは大規模な配列のパフォーマンスが優れています。
array_diff() この関数は、配列値の差分セットを計算するために使用されます。これを使用して null 値を削除できます。
$array = array("foo", "", "bar", null, "baz"); $new_array = array_diff($array, array("", null));
array_diff() 関数を使用して
$array 配列を計算し、空の文字列を含む配列と null 値の配列の差分。結果として新しい配列
$new_array が生成されます。このメソッドでは複数の値を一度にフィルターできることがわかります。
以上がPHP配列からnull値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。