PHP では、配列は複数の値を格納するために使用できる頻繁に使用されるデータ構造です。実際の開発では、配列から重複した要素を削除するなど、配列を操作する必要があることがよくあります。この記事では、この機能を実現するためのいくつかの方法を紹介します。
PHP の array_unique 関数は、配列から重複要素を削除し、処理された配列を返すことができます。以下に例を示します。
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array_unique($array); print_r($new_array);
上記のコードは次を出力します。
Array ( [0] => a [1] => b [2] => c [4] => d )
注: このメソッドを使用すると、配列が再配置され、元のキー値が削除されます。元の配列インデックスを保持する必要がある場合は、次の方法を使用できます。
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array(); foreach($array as $value) { if(!in_array($value, $new_array)) { $new_array[] = $value; } } print_r($new_array);
Array ( [0] => a [1] => b [2] => c [4] => d )このメソッドは配列を再配置せず、元のインデックスを保持できます。
array_flip 関数と array_keys 関数を使用する
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array_keys(array_flip($array)); print_r($new_array);
Array ( [0] => a [1] => b [2] => c [3] => d )このメソッドも配列を再配置せず、元のインデックスを保持できます。
array_reduce 関数を使用する
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array_reduce($array, function(&$result, $item) { if(!in_array($item, $result)) { $result[] = $item; } return $result; }, array()); print_r($new_array);
Array ( [0] => a [1] => b [2] => c [4] => d )このメソッドも配列を再配置せず、元のインデックスを保持できます。 概要上記では、配列から重複要素を削除する 4 つの方法、つまり、array_unique 関数の使用、foreach ループ トラバーサルの使用、array_flip 関数と array_keys 関数の使用、および array_reduce 関数の使用について説明しています。 。具体的にどの方法を選択するかは、アプリケーションのシナリオと実際のニーズに応じて決定できますが、方法によって長所と短所が異なります。
以上がPHPで配列から重複した要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。