PHP 開発プロセスでは、配列を処理する必要がある状況によく遭遇します。配列を処理するとき、非常に一般的なニーズは、配列内の null 値を削除することです。では、PHP で配列内の null 値を削除するにはどうすればよいでしょうか?この記事では、配列のnull値を削除する3つの方法を紹介します。
方法 1: ループを使用して配列を走査する
配列のループは、配列を処理する最も一般的な方法です。 foreach ループを使用して配列を走査し、条件ステートメントを使用して配列内の各要素が null 値であるかどうかを判断できます。null 値の場合は、unset 関数を使用して削除します。具体的な手順は次のとおりです。
// 原始数组 $arr = array('foo', '', 'bar', ' ', null, 'baz'); // 遍历数组并删除空值 foreach ($arr as $key => $value) { if ($value === '' || $value === ' ' || $value === null) { unset($arr[$key]); } } // 输出处理后的数组 print_r($arr);
上記のコードを実行すると、出力結果は次のようになります。
Array ( [0] => foo [2] => bar [5] => baz )
方法 2: array_filter 関数を使用して配列をフィルター処理します
PHPにはarray_filterという関数が用意されており、配列内の値をフィルタリングするために使用できます。この関数は配列内の各要素をコールバック関数に渡して判定し、要素が条件を満たしていれば true を返し、条件を満たしていない場合は false を返します。最後に、この関数は、条件を満たす要素のみを含む新しい配列を返します。
無名関数をコールバック関数として使用し、配列をパラメータとして array_filter 関数に渡すことができます。具体的な手順は次のとおりです。
// 原始数组 $arr = array('foo', '', 'bar', ' ', null, 'baz'); // 过滤数组中的空值 $new_arr = array_filter($arr, function($value) { return ($value !== '' && $value !== ' ' && $value !== null); }); // 输出处理后的数组 print_r($new_arr);
上記のコードを実行すると、出力結果は次のようになります。
Array ( [0] => foo [2] => bar [5] => baz )
方法 3: array_diff 関数を使用して差分セットを見つける
PHP には array_diff という関数が用意されており、2 つの配列間の差異を見つけるために使用できます。元の配列と null 値のみを含む配列の差分を取得でき、結果は null 値を削除した後の配列になります。具体的な手順は次のとおりです。
// 原始数组 $arr = array('foo', '', 'bar', ' ', null, 'baz'); // 以空值作为差集的基准求差集 $new_arr = array_diff($arr, array('', ' ', null)); // 输出处理后的数组 print_r($new_arr);
上記のコードを実行すると、出力結果は次のようになります。
Array ( [0] => foo [2] => bar [5] => baz )
要約すると、null 値を削除する 3 つの方法を紹介しました。 PHP 配列は次のとおりです。 ループ トラバーサル配列を使用し、array_filter 関数を使用して配列をフィルタリングし、array_diff 関数を使用して違いを見つけます。実際の開発では、特定のニーズに応じてさまざまな方法を選択できます。
以上がphpは配列からnull値を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。