PHP配列から空白要素を削除する方法

PHPz
リリース: 2023-04-24 15:38:32
オリジナル
699 人が閲覧しました

PHP 開発では、配列の処理は非常に一般的な操作です。実際のアプリケーションでは、配列に空白の要素が含まれる状況によく遭遇します。これらの空白要素を処理しないと、プログラムの正常な動作に影響を与える可能性があります。したがって、この記事では、PHP を使用して配列から空白要素を削除する方法を説明します。

1. 空白要素とは

PHP では、次の方法で配列を作成できます:

$arr = array('foo', '', 'bar');
ログイン後にコピー

上記のコードは、3 つの要素を含む配列を作成します。最初の要素は「foo」、2 番目の要素は空の文字列、3 番目の要素は「bar」です。実際の開発では、ユーザーが送信するフォームデータに空白データが存在したり、データベースのクエリ操作でも空白データが出現したりするなど、空白要素が存在するケースが多々あります。

2. array_filter() 関数を使用して空白要素を削除します

PHP には、array_filter() 関数を含む、多くの便利な配列関数が組み込まれています。 array_filter() 関数は、指定された条件に従って配列内の要素をフィルターし、新しい配列を返すために使用されます。通常、array_filter() 関数のコールバック関数を使用して配列要素をフィルタリングし、空白要素を削除します。

以下は、array_filter() 関数を使用して配列内の空白要素を削除するサンプル コードです:

$arr = array('foo', '', 'bar'); // 定义回调函数 function filter_empty($var) { return trim($var) != ''; } // 使用 array_filter() 函数去除空白元素 $arr = array_filter($arr, 'filter_empty'); // 输出新数组 print_r($arr);
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります:

Array ( [0] => foo [2] => bar )
ログイン後にコピー

上記のコードからわかるように、array_filter() 関数を使用して元の配列から空白の要素を削除し、空でない要素のみを含む新しい配列を返します。

上記のコード例では、filter_empty という名前の関数をコールバック関数として使用します。この関数は、trim() 関数を使用して文字列の両側のスペースを削除し、文字列が空の文字列かどうかを判断します。空の文字列でない場合は、要素を保持する必要があることを示す true を返し、それ以外の場合は、要素をフィルターで除外する必要があることを示す false を返します。

3. foreach() を使用して配列を操作する

array_filter() 関数を使用することに加えて、foreach() を使用して配列をループし、その後 unset を使用することもできます。 () 空白要素を削除する関数。以下は、foreach() ループを使用して配列内の空白要素を削除するサンプル コードです。

$arr = array('foo', '', 'bar'); foreach ($arr as $i => $value) { if (trim($value) == '') { unset($arr[$i]); } } // 重新建立索引 $arr = array_values($arr); // 输出新数组 print_r($arr);
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります。

Array ( [0] => foo [1] => bar )
ログイン後にコピー
ログイン後にコピー

上記のコードでは、 foreach() を使用して、配列内の各要素をループします。要素が空白要素の場合、つまり、trim() 関数を呼び出して両側のスペースを削除した後、空の文字列になった場合は、unset() 関数を使用して要素を削除します。最後に、array_values() 関数を使用して配列のインデックスを再作成し、空白要素を含まない新しい配列を作成します。

4. array_reduce() 関数を使用して空白要素を削除します。

上記の 2 つの方法に加えて、array_reduce() 関数を使用して配列内の空白要素を削除することもできます。 array_reduce() 関数は、配列の各要素を反復し、コールバック関数を通じてすべての要素を計算し、単一の値を返すために使用されます。

次は、array_reduce() 関数を使用して配列内の空白要素を削除するサンプル コードです:

$arr = array('foo', '', 'bar'); // 定义回调函数 function reduce_empty($carry, $item) { if (trim($item) != '') { $carry[] = $item; } return $carry; } // 使用 array_reduce() 函数去除空白元素 $arr = array_reduce($arr, 'reduce_empty', array()); // 输出新数组 print_r($arr);
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります:

Array ( [0] => foo [1] => bar )
ログイン後にコピー
ログイン後にコピー

上記のコードでは、配列の各要素を反復処理する、reduce_empty という関数が定義されています。要素が空白要素でない場合、要素は新しい配列に追加され、新しい配列が返されます。最後に、array_reduce() 関数を使用して、元の配列から空白要素を削除し、新しい配列を返します。

5. 概要

この記事では、PHP を使用して配列内の空白要素を削除する 3 つの方法、array_filter() 関数の使用、foreach() ループの使用、array_reduce() の使用を紹介します。関数。これらの方法は異なりますが、いずれも配列内の空白要素を効果的に削除できるため、プログラムの通常の動作への影響を回避できます。実際の開発では、状況に応じて適切な方法を選択して運用することができます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!