実際の開発では、配列から重複データを削除する必要があることがよくあります。 PHP では、重複データを削除するのは簡単な作業です。PHP には、この作業を完了するための組み込み関数が多数用意されているためです。
次に、配列内の重複データを削除するために使用できる PHP 組み込み関数をいくつか示します。
array_unique( ) アレイ上で重複排除操作を実行するために使用できます。元の配列内のすべての個別の値を含む新しい配列を返します。
使用法:
$array = array("a","b","c","d","a","b","e"); $new_array = array_unique($array); print_r($new_array);
出力:
Array( [0] => a [1] => b [2] => c [3] => d [6] => e )
array_diff() 関数は、2 つのデータを比較するために使用できます。配列を返し、個別の要素を含む新しい配列を返します。
使用法:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_diff($array1, $array2); print_r($new_array);
出力:
Array( [0] => a [1] => b )
array_merge() 関数は複数のマージに使用できます。配列は 1 つの配列に結合されます。マージ後に重複データがある場合、最後に発生した値が保持されます。
使用法:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_merge($array1, $array2); print_r($new_array);
出力:
Array( [0] => a [1] => b [2] => c [3] => d [4] => a [5] => b [6] => e [7] => c [8] => d [9] => e [10] => f )
array_intersect() 関数は、2 つの関数を比較するために使用できます。配列を取得し、両方の配列に存在する要素を含む新しい配列を返します。
使用法:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_intersect($array1, $array2); print_r($new_array);
出力:
Array( [2] => c [3] => d [6] => e )
配列内の重複データをすべて削除したい場合は、上記の関数を組み合わせて使用できます。具体的なメソッドは次のとおりです。
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_merge(array_diff($array1, array_intersect($array1, $array2)), array_diff($array2, array_intersect($array1, $array2))); print_r($new_array);
出力:
Array( [0] => a [1] => b [4] => f )
上記のメソッドは、配列内のすべての重複データをクリアし、すべての異なる要素を保持できます。重複データの最初または最後のものを保持する必要がある場合は、次の方法を使用できます:
最初のものを重複データに保持します:
$new_array = array_unique($array1);
最後のものを重複データに保持します。重複データ:
$new_array = array_intersect($array1, array_unique(array_reverse($array1)));
以上がPHPで配列から重複データを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。