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

WBOY
リリース: 2023-05-23 10:49:37
オリジナル
309 人が閲覧しました

PHP は、Web 開発で広く使用されている人気のあるサーバー側プログラミング言語です。配列は開発中の重要なデータ型です。場合によっては、配列から重複した値を削除する必要があります。この記事では、PHP を使用して配列から重複要素を削除する方法を紹介します。

方法 1: array_unique() を使用する

PHP には、配列から重複要素を削除するのに役立つ組み込み関数 array_unique() が用意されています。この関数は、元の配列内のすべての一意の値を含む新しい配列を返します。例は次のとおりです:

$array = array(1, 2, 2, 3, 3, 4, 5);
$new_array = array_unique($array);
print_r($new_array);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [5] => 5
)
ログイン後にコピー

方法 2: ループを使用する

array_unique() 関数に加えて、ループを使用することもできます。配列内の重複した要素を削除します。基本的な考え方は、元の配列を走査し、重複しないすべての要素を新しい配列に追加することです。例は次のとおりです。

$array = array(1, 2, 2, 3, 3, 4, 5);
$new_array = array();
foreach ($array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}
print_r($new_array);
ログイン後にコピー

出力結果は前の方法と同じです。

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
ログイン後にコピー
ログイン後にコピー

方法 3: array_flip() と array_keys() を使用する

別の方法array_flip() 関数は、配列のキーと値を交換して、重複した値がキーになるようにします。次に、array_keys() 関数を使用してすべてのキー (重複要素を削除した後の配列) を取得します。例は次のとおりです:

$array = array(1, 2, 2, 3, 3, 4, 5);
$new_array = array_keys(array_flip($array));
print_r($new_array);
ログイン後にコピー

出力結果は最初の 2 つの方法と同じです:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
ログイン後にコピー
ログイン後にコピー

概要

上記は、PHP で重複した配列を削除する 3 つの方法です。実際の状況に応じて、別のアプローチを選択することができます。 array_unique() 関数は最も単純な方法ですが、大きな配列を扱う場合にはパフォーマンスの問題が発生する可能性があります。ループを使用する方法では、より多くのコードが必要になりますが、小さな配列を操作する場合のパフォーマンスが向上します。 array_flip() と array_keys() を使用するのが最も簡単な方法ですが、配列要素が多数ある場合にはパフォーマンスの問題が発生する可能性もあります。したがって、実際のアプリケーションでは、さまざまな方法の長所と短所を比較検討し、重複配列を削除するのに最適な方法を選択する必要があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!