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

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

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

PHP 開発では、配列から重複した要素を削除する必要がある状況に遭遇することがあります。配列から重複要素を削除するいくつかの方法を次に示します:

1. array_unique() 関数

array_unique() を使用して、配列から重複要素を削除し、重複要素のない新しい配列を返します。 。

サンプル コード:

$arr = array('apple', 'banana', 'orange', 'apple');
print_r(array_unique($arr));

出力結果:

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

2. foreach ループの使用

foreach ループを使用して配列を走査し、各要素について、新しい配列にすでに存在するかどうかを確認します。存在しない場合は新しい配列に追加され、存在する場合は無視されます。この方法は比較的単純ですが、大規模な配列の場合はあまりパフォーマンスが良くない可能性があります。

サンプル コード:

$arr = array('apple', 'banana', 'orange', 'apple');
$newArr = array();
foreach ($arr as $value) {
    if (!in_array($value, $newArr)) {
        $newArr[] = $value;
    }
}
print_r($newArr);

出力結果:

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

3. array_flip() 関数と array_keys() 関数を使用します

キーと値を反転します配列の回転し、重複を削除してから元に戻します。このメソッドは、配列の値が単純型 (文字列、数値など) の場合に適用できますが、配列の値がオブジェクトなどの複合型の場合は適用できません。

サンプル コード:

$arr = array('apple', 'banana', 'orange', 'apple');
$newArr = array_flip(array_keys(array_flip($arr)));
print_r($newArr);

出力結果:

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

概要

上記の 3 つのメソッドは、配列内の重複要素を正常に削除できます。実際の状況に応じてどの方法を使用するかを選択できます。配列のパフォーマンス要件が高くない場合は、foreach ループを使用できますが、高いパフォーマンスが必要な場合は、array_unique() 関数を使用するか、array_flip() 関数と array_keys() 関数を使用することをお勧めします。

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

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