PHP 開発では、配列を操作する必要があることが多く、配列からの null 値の削除は最も一般的な操作の 1 つです。最も一般的な状況は、フォームからデータを取得するときに、ユーザーが一部のデータを空白のままにする可能性がありますが、後続の処理でこれらの空白の値がプログラムの通常の動作に影響を与えることです。したがって、これらの null 値を削除する必要があります。
この記事では、PHP で配列から空の値を削除するいくつかの方法を紹介します。
方法 1: array_filter() 関数を使用する
array_filter() は、配列内の要素をフィルタリングできる PHP の組み込み関数です。コールバック関数をパラメータとして渡すことができ、コールバック関数はブール値を返します。true の場合は要素が保持され、false の場合は要素が削除されます。コールバック関数が渡されない場合、配列内のすべての null 値、0、false、および null が削除されます。
サンプル コードは次のとおりです。
$arr = array('a', '', 'b', null, 'c', ' ', 'd', false); $arr = array_filter($arr, 'strlen'); print_r($arr);
出力結果は次のとおりです。
Array ( [0] => a [2] => b [4] => c [6] => d )
上記のコードでは、コールバック関数として strlen 関数を使用しています。文字列の長さを返します。文字列の長さが 0 の場合は False を返します。したがって、長さがゼロ以外の要素はすべて保持されます。
方法 2: foreach ループを使用する
配列から null 値を削除するもう 1 つの一般的な方法は、foreach ループを使用して配列を走査し、null 値を削除することです。サンプル コードは次のとおりです。
$arr = array('a', '', 'b', null, 'c', ' ', 'd', false); foreach($arr as $key => $value) { if(empty($value)) { unset($arr[$key]); } } print_r($arr);
出力結果は方法 1 と同じです。
Array ( [0] => a [2] => b [4] => c [6] => d )
上記のコードでは、empty() 関数を使用して要素が空かどうかを判断します。空の場合は、unset( ) 関数を使用して要素を削除します。
方法 3: array_diff() 関数を使用する
array_diff() 関数を使用して、配列内の null 値を削除する方法もあります。 array_diff() 関数は、配列の差分を計算するために使用される PHP 組み込み関数です。配列の null 値を別の空の配列との「差分セット」として計算すると、null 値を削除した後に元の配列を取得できます。
サンプル コードは次のとおりです:
$arr = array('a', '', 'b', null, 'c', ' ', 'd', false); $arr = array_diff($arr, array('')); print_r($arr);
出力結果は上記 2 つのメソッドと同じです:
Array ( [0] => a [2] => b [4] => c [6] => d )
上記のコードでは、空の配列を次のように使用します。パラメータ、この空の配列 要素がないため、その差分は、元の配列から null 値を引いた結果になります。
概要
この記事では、PHP で配列から空の値を削除する 3 つの方法、array_filter() 関数の使用、foreach ループの使用、array_diff() 関数の使用を紹介します。これらのメソッドは配列内の null 値を効果的に削除し、プログラムをより安定させることができます。実際の開発では、ニーズに応じて適切な方法を選択できます。
以上がPHPで配列からnull値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。