PHP では、配列を扱うときによく遭遇する問題の 1 つは、配列内の重複要素をフィルターで除外する方法です。この記事では、PHPで重複配列をフィルタリングする方法を詳しく紹介します。
1. array_unique 関数
PHP の組み込みの array_unique 関数は、配列内の重複要素をフィルターで除外できます。最初に出現した要素を保持し、残りの重複要素をすべて削除します。
この関数の構文は次のとおりです。
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
ここで、
以下は例です:
$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange'); $new_arr = array_unique($old_arr); print_r($new_arr); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [4] => orange )
元の配列には 2 つの 'banana' 要素があるため、array_unique フィルタリング後には 1 つの 'banana' 要素だけが保持されます。
2. 手動重複排除
array_unique 関数に加えて、手動重複排除を実現するためにキー名を繰り返すことができないという PHP の機能も使用できます。
元の配列を走査し、要素をキー名として新しい配列に保存すると、新しい配列内のキー名が自動的に重複排除され、値を必要に応じて設定できます。
以下はサンプル コードです:
$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange'); $new_arr = array(); foreach ($old_arr as $value) { $new_arr[$value] = 0; } print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )
この方法はより面倒ですが、入力と出力の順序の一貫性を保証できます。
3. array_flip 関数
PHP に組み込まれている array_flip 関数は、配列のキー名と値を交換できます。キー名は繰り返すことができないため、array_flip 関数を使用するとすぐに複製できます。
以下はサンプル コードです:
$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange'); $new_arr = array_flip($old_arr); print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )
元の配列には 2 つの 'banana' 要素があるため、array_flip 関数の後には 1 つの 'banana' 要素だけが保持されます。
4. 概要
この記事の説明を通じて、PHP で配列から重複要素をすばやく削除する方法を学びました。
組み込みの array_unique 関数を使用するか、手動の重複排除を使用するか、array_flip 関数を使用して重複排除を実現できます。
特定のシナリオとニーズに応じて、配列内の重複要素を削除するのに最適な方法を選択できます。
以上がPHPで重複した配列をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。