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

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。