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

PHPz
リリース: 2023-04-23 09:37:33
オリジナル
944 人が閲覧しました

インターネットの継続的な発展に伴い、Web 開発の重要性がますます注目を集めています。 Web 開発のプロセスでは、最も基本的な言語の 1 つである PHP 言語がサーバーサイド プログラミングで広く使用されており、配列は PHP 言語の重要なコンポーネントの 1 つです。

通常、データを処理する際に配列を使用する必要があり、内部値が反復しないことを期待しますが、同じ値がある場合、結果の反復が発生しやすくなります。これを行うには、特別な関数を使用して PHP 配列から重複する値を削除する必要があります。

PHP で配列から重複した値を削除するには、実際には array_unique() 関数を使用します。次に使い方を例文とともに紹介していきます。

  1. インデックス配列内の重複した値を削除する

PHP の配列から重複した要素を削除するには、PHP の組み込みの array_unique() 関数を使用できます。これは、配列内の重複要素をフィルタリングして、ファイル内で最初に出現した要素を保持し、後続のコピーはすべて削除するのに役立ちます。

次は、array_unique() 関数を使用してインデックス配列内の重複する値を削除する方法を示しています:

<?php

$names = array("John", "Peter", "David", "Peter", "Mike", "David", "Mark", "Peter");

$unique_names = array_unique($names);

print_r($unique_names);

?>
ログイン後にコピー

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

Array
(
    [0] => John
    [1] => Peter
    [2] => David
    [4] => Mike
    [6] => Mark
)
ログイン後にコピー

インデックスが 3 と 5 であること。要素「Peter」と「David」が削除され、1 つだけが残ります。これは、array_unique() 関数が配列内で最初に出現した要素を保持し、それ以降に出現した要素をすべて削除するためです。

  1. 連想配列から重複値を削除

配列のインデックス付けに加えて、array_unique() 関数を使用して連想配列から重複値を削除することもできます。 PHPで。連想配列の場合、キーを指定する際には注意が必要です。

以下は、array_unique() 関数を使用して連想配列内の重複する値を削除する方法を示しています:

<?php

$users = array(
    "id1" => array("name" => "John", "email" => "john@example.com"),
    "id2" => array("name" => "Peter", "email" => "peter@example.com"),
    "id3" => array("name" => "David", "email" => "david@example.com"),
    "id4" => array("name" => "Peter", "email" => "peter@example.com"),
    "id5" => array("name" => "Mike", "email" => "mike@example.com"),
    "id6" => array("name" => "David", "email" => "david@example.com"),
);

// 指定"name"键去除重复值
$unique_users = array_map("unserialize", array_unique(array_map("serialize", $users)));

print_r($unique_users);

?>
ログイン後にコピー

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

Array
(
    [id1] => Array
        (
            [name] => John
            [email] => john@example.com
        )

    [id2] => Array
        (
            [name] => Peter
            [email] => peter@example.com
        )

    [id3] => Array
        (
            [name] => David
            [email] => david@example.com
        )

    [id5] => Array
        (
            [name] => Mike
            [email] => mike@example.com
        )

)
ログイン後にコピー

「name」を指定した場合、要素「id4」が削除され、連想配列に最初に出現したコピーが保持されます。

  1. 多次元配列から重複値を削除する

インデックス配列と連想配列に加えて、array_unique() 関数を使用して重複値を削除することもできます。 PHP の多次元配列からの重複値。多次元配列の場合は、指定されたキー値の位置に注意する必要があります。

次は、array_unique() 関数を使用して多次元配列内の重複する値を削除する方法を示しています。

<?php

$courses = array(
    array("name" => "PHP Programming", "code" => "PHP101"),
    array("name" => "Web Design", "code" => "WD101"),
    array("name" => "PHP Programming", "code" => "PHP101"), 
    array("name" => "Java Programming", "code" => "JAVA101")
);

// 指定“name”键值的位置
$unique_courses = array_map("unserialize", array_unique(array_map("serialize", array_column($courses , null , 'name'))));

print_r($unique_courses);

?>
ログイン後にコピー

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

Array
(
    [PHP Programming] => Array
        (
            [name] => PHP Programming
            [code] => PHP101
        )

    [Web Design] => Array
        (
            [name] => Web Design
            [code] => WD101
        )

    [Java Programming] => Array
        (
            [name] => Java Programming
            [code] => JAVA101
        )

)
ログイン後にコピー

We 「name」キーを指定すると、値の位置で要素「PHP Programming」が削除され、多次元配列の最初に出現したもののコピーが残っていることがわかります。

概要

PHP では、array_unique() 関数を使用して、配列内の重複した値を簡単に削除できます。インデックス付き配列、連想配列、多次元配列の場合、特定の状況に応じて関数のパラメーターを指定して、最良の結果を得ることができます。 array_unique() 関数の使用法を学ぶことで、Web 開発における PHP 言語のアプリケーションをよりよく習得し、技術レベルをさらに向上させることができます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート