PHP で開発する場合、多くの場合、配列を操作する必要があります。このプロセス中に空の配列要素が発生する可能性があり、コードが正常に実行できなくなったり、コード ロジックが混乱したりする可能性があります。したがって、PHP 配列から空の要素を削除することは、頻繁に対処する必要がある問題の 1 つです。この記事では、PHP 配列から空の要素を削除するいくつかの方法を紹介します。
1. array_filter 関数を使用する
PHP 組み込み関数 array_filter を使用して、配列内の空の要素をフィルターで除外できます。この関数は、元の配列内の空でない要素のみを含む新しい配列を返します。
次は、array_filter 関数を使用して配列内の空の要素を削除するサンプル コードです:
$arr = array("apple", "banana", "", "orange", null); $arr = array_filter($arr); print_r($arr);
出力結果は次のとおりです:
Array ( [0] => apple [1] => banana [3] => orange )
これは次のことを確認できます。このメソッドは、配列の空の要素 (空の文字列と null 値を含む) をフィルターで除外し、空でないすべての要素を含む新しい配列を返すことができます。
2. foreach ループを使用する
foreach ループを使用して配列を走査し、空でない要素を新しい配列に格納することもできます。
次は、foreach ループを使用して配列内の空の要素を削除するコード例です:
$arr = array("apple", "banana", "", "orange", null); $newArr = array(); foreach ($arr as $val) { if (!empty($val)) { $newArr[] = $val; } } print_r($newArr);
出力結果は次のとおりです:
Array ( [0] => apple [1] => banana [2] => orange )
ご覧のとおり、これはこのメソッドは、配列の空の要素をフィルターで除外し、空でないすべての要素を含む新しい配列を返すこともできます。
3. array_map 関数を使用する
場合によっては、array_map 関数を使用して、配列内の空の要素を削除できます。この関数はコールバック関数をパラメータとして受け取り、その関数を配列内の各要素に適用し、結果の配列を返します。
次は、array_map 関数を使用して配列内の空の要素を削除するサンプル コードです:
$arr = array("apple", "banana", "", "orange", null); $newArr = array_map('trim', $arr); $newArr = array_filter($newArr); print_r($newArr);
出力結果は次のとおりです:
Array ( [0] => apple [1] => banana [3] => orange )
ご覧のとおり、これはこのメソッドは、trim 関数を適用することによって削除されます。配列要素内のスペースを削除し、array_filter 関数を使用して空の要素を除外し、空でないすべての要素を含む新しい配列を返します。
4. array_reduce 関数を使用する
array_reduce 関数は、配列内のすべての要素に対してリダクション操作 (折りたたみとも呼ばれます) を実行し、最終結果を返すことができます。
次は、array_reduce 関数を使用して配列内の空の要素を削除するサンプル コードです:
$arr = array("apple", "banana", "", "orange", null); $newArr = array_reduce($arr, function ($carry, $item) { if (!empty($item)) { $carry[] = $item; } return $carry; }, array()); print_r($newArr);
出力結果は次のとおりです:
Array ( [0] => apple [1] => banana [2] => orange )
ご覧のとおり、これはこのメソッドは、array_reduce 関数を使用してリダクション操作を実行し、空でない要素を新しい配列に格納し、新しい配列を返します。
概要:
PHP 配列から空の要素を削除することは一般的なニーズです。この記事では、この問題を解決するためのさまざまな方法を紹介します。 array_filter 関数、foreach ループ、array_map 関数、array_reduce 関数のいずれを使用するかに関係なく、それぞれの方法にユースケースと長所と短所があります。開発者は、特定のニーズに基づいて最適な方法を選択できます。
以上がPHP配列から空の要素を削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。