ホームページ >バックエンド開発 >PHPの問題 >PHPで配列から重複した値を削除する方法

PHPで配列から重複した値を削除する方法

PHPz
PHPzオリジナル
2023-04-27 09:04:32959ブラウズ

開発中、配列から重複した値を削除する必要がある状況によく遭遇します。人気のあるサーバー側スクリプト言語として、PHP は配列を操作するための豊富な関数とメソッドを提供します。この記事では、PHP で配列から重複値を削除するためによく使用されるいくつかの方法を紹介します。

メソッド 1: array_unique()

array_unique() は、配列から重複値を削除するために PHP で最もよく使用されるメソッドの 1 つです。この関数は、入力配列内の固有の値のみを含む新しい配列を返します。以下に使用例を示します。

$array = array("apple", "banana", "cherry", "banana", "orange", "apple");
$newArray = array_unique($array);
print_r($newArray);

上記のコードの出力結果は次のとおりです。

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [4] => orange
)

出力結果からわかるように、array_unique()関数は、元の配列値の重複を削除し、新しい配列を返します。この関数が重複を削除するときは、キーではなく値に基づいて重複があるかどうかを判断することに注意してください。

方法 2: 重複を削除する foreach ループ

関数 array_unique() の使用に加えて、配列をループして重複値を削除することもできます。以下は、foreach ループを使用して重複を削除する例です。

$array = array("apple", "banana", "cherry", "banana", "orange", "apple");
$newArray = array();
foreach ($array as $value) {
    if (!in_array($value, $newArray)) {
        $newArray[] = $value;
    }
}
print_r($newArray);

上記のコードの出力結果は、方法 1 と同じです。 in_array 関数を使用して値が繰り返されるかどうかを判断する場合、値が繰り返されないようにするには、# 否定記号を使用して値を否定する必要があることに注意してください。配列内の新しいものに追加されます。

メソッド 3: array_flip()

array_flip()この関数は、配列内のキーと値を交換して重複排除の効果を実現できます。重複排除の前に、array_flip() を使用して最初にキーと値を交換し、次に array_flip() を通じて配列を復元します。以下に例を示します。

$array = array("apple", "banana", "cherry", "banana", "orange", "apple");
$newArray = array_flip(array_flip($array));
print_r($newArray);

上記のコードの出力結果は、方法 1 および方法 2 と同じです。元の配列に重複した値がある場合、キーと値のペアを交換した後、後続の値は失われ、最後の値だけが残ることに注意してください。したがって、array_flip() を使用する場合は、まず array_flip() を使用して重複したキー値を削除し、次に array_flip() を使用して元のキー値を復元する必要があります。配列。 。

つまり、上記は配列から重複値を削除するために PHP で一般的に使用される 3 つの方法です。実際のニーズに応じて、さまざまな方法を選択すると、プログラムの効率が向上し、コードがより簡潔で理解しやすくなります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。