ホームページ  >  記事  >  バックエンド開発  >  PHPで配列内の同一の値を削除する方法

PHPで配列内の同一の値を削除する方法

PHPz
PHPzオリジナル
2023-04-23 10:21:53453ブラウズ

PHP は Web 開発で非常に人気のあるプログラミング言語であり、Web 開発では配列を使用するのが非常に一般的です。しかし、配列内の同一の値を削除する場合、状況に遭遇することがあります。この記事では、プログラミング言語PHPを使って配列内の同一の値を削除する方法を紹介します。

PHP 配列の基本を復習します。 PHP では、配列は値 (要素) のセットを格納するために使用される特別なタイプの変数です。各要素にはキーと値があります。キーには整数または文字列を使用できますが、値には数値、文字列、オブジェクトなどの任意のタイプのデータを使用できます。

PHP には、配列を処理および操作するための便利な配列関数が多数用意されています。 array_unique() のような関数は、配列内の重複要素を削除できますが、重複要素を削除するだけでは不十分な場合があります。重複する値を配列から削除する必要があります (配列内に複数回出現する場合でも)。これを行う方法を見てみましょう。

まず、重複した要素を含む配列があります。以下は配列の例です。

$numbers = array(1, 2, 3, 4, 3, 5, 6, 2, 7, 8, 6, 1);

私たちの目標は、配列から削除することです。同じ値なので、最初にそれらの値を見つける必要があります。これを行うには、PHP の array_count_values() 関数を使用します。この関数は、配列内の各値の出現をカウントし、値とその出現を含む新しい配列を返します。

以下は、array_count_values() 関数を使用して配列内の各値の出現数をカウントするサンプル コードです。

$counted = array_count_values($numbers);
print_r($counted);

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

Array
(

[1] => 2
[2] => 2
[3] => 2
[4] => 1
[5] => 1
[6] => 2
[7] => 1
[8] => 1

)

出力からわかるように、配列内の各値とその出現数が計算されます。次に、元の配列から 1 つ以上出現する値を削除する必要があります。

このためには、PHP で foreach ループを使用する必要があります。新しい計算された配列をループし、その中の同じ値を削除します。以下はサンプルコードです。

foreach($counted as $key => $value){

if($value > 1){
    for($i=0;$i<$value-1;$i++){
        $keyToDelete = array_search($key, $numbers);
        unset($numbers[$keyToDelete]);
    }
}

}

上記のコードがどのように機能するかを見てみましょう。 foreach ループを使用して、計算された新しい配列を反復処理します。値が 2 回以上出現する場合は、for ループを使用して、配列内の他の重複する値をすべて削除します。 array_search() 関数を使用して配列内で削除するキーを見つけ、unset() 関数を使用して配列からキーを削除します。

ここで、新しい配列を出力して、同一の値がすべて削除されていることを確認しましょう。

print_r($numbers);

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

Array
(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[5] => 5
[6] => 6
[8] => 7
[9] => 8

)

ここまでで、元の配列内の同一の値がすべて削除されたことがわかります。

Web 開発、特にフォームやデータベースを扱う場合、配列内の同じ値を削除することは非常に必要かつ便利な操作です。 PHP プログラミング言語を使用すると、これを簡単に実現できます。

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

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