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

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

PHPz
PHPzオリジナル
2023-04-18 14:10:30569ブラウズ

PHP では、配列は非常に一般的に使用されるデータ型です。場合によっては、配列内の各要素が一意であること、つまり重複がないことを確認する必要があります。この記事では、配列をより適切に処理するのに役立つ、配列内の重複値をクリアする方法を紹介します。

方法 1: PHP 組み込み関数 array_unique() を使用する

PHP が提供する array_unique() 関数を使用すると、配列内の重複する値を削除し、重複した値を含まない新しい配列。

サンプル コードは次のとおりです。

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array_unique($array);
print_r($newArray);

上記のコードを実行すると、次の結果が得られます。

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

方法 2: ループ トラバーサルを使用する

PHP では、重複排除の目的を達成するためにループ トラバーサルを使用できます。具体的な方法は、配列を走査し、各要素を配列内の他の要素と比較し、重複が見つかった場合はその要素を削除することです。取得される最終的なアレイは、重複排除後のアレイです。

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array();
foreach($array as $value) {
    if (!in_array($value, $newArray)) {
        $newArray[] = $value;
    }
}
print_r($newArray);

サンプル コードは次のとおりです。

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

上記のコードを実行すると、次の結果が得られます。

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array_flip($array);
$newArray = array_flip($newArray);
print_r($newArray);

方法 3: array_flip() 関数を使用します

array_flip() この関数は配列内のキーと値を交換できます。元の配列に重複した値がある場合、交換後はこれらの重複した値のうち 1 つだけが残り、目的が達成されます。重複した値を削除します。

サンプル コードは次のとおりです:

Array
(
    [a] => 
    [b] => 
    [c] => 
    [d] => 
)

上記のコードを実行すると、次の結果が得られます:

rrreee

上記のコードでは、最初に array_flip() を使用します。配列内のキーを結合する関数で値が交換され、新しい配列 $newArray が得られますが、この新しい配列の値はすべて空です。次に、array_flip() 関数を再度使用して、新しい配列のキーと値を交換します。最終的な結果は、重複排除された配列です。

概要

上記の 3 つのメソッドはいずれも、配列内の重複値をクリアするという目的を達成できますが、実装原理は異なります。実際の状況に応じて適切な方法を選択する必要があります。さらに、重複した値を保持する必要があり、各重複値の出現をカウントしたい場合は、PHP が提供する array_count_values() 関数を使用できます。この関数は、元の配列の各要素を含む新しい配列を返すことができます。 . 出現回数。

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

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