ホームページ >バックエンド開発 >PHPの問題 >PHPで同じキー値を持つ配列の削除を実装する方法

PHPで同じキー値を持つ配列の削除を実装する方法

PHPz
PHPzオリジナル
2023-04-17 16:36:41464ブラウズ

PHP プログラミング言語では、配列 (配列) は非常に一般的に使用されるデータ型です。複数のデータ要素を保存し、キーを介して各要素にアクセスできます。開発プロセスでは、配列内の同じキーを持つ値を削除する必要がある状況によく遭遇します。この記事では、この操作を PHP で実装する方法を紹介します。

  1. PHP 配列の基本概念を理解する

PHP では、配列は順序付けられたデータのコレクションであり、整数、浮動小数点などのさまざまなデータ型を含めることができます。型、文字列型、ブール型など。配列の要素には、キー値を使用してアクセスできます。 PHP では、array() 関数を使用したり、[] 演算子を使用して配列を作成したりするなど、さまざまな形式で配列を宣言および初期化できます。

たとえば、次のコードでは、5 つの要素を含む配列を作成し、各要素を初期化できます。

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

または、[] 演算子を使用して配列を初期化することもできます。

$numbers = [1, 2, 3, 4, 5];

どちらの場合も、変数 $numbers は次のようになります。 5 つの要素の配列であり、各要素にはキー値によってアクセスできます。たとえば、$numbers[0] を使用して最初の要素にアクセスできます。

  1. PHP 配列内の同じキー値を削除する

通常、PHP プログラムを作成するときは、PHP 配列からのデータのクエリなど、さまざまなデータを処理する必要があります。データベース、ファイルから Web フォームからデータを読み取るか、Web フォームからデータを受信します。このような場合、PHP 配列内で同じキー値を持つ値を削除する必要がある状況によく遭遇します。

幸いなことに、PHP では、この操作を実現する方法がたくさんあります。最も一般的に使用される 3 つの方法を以下に示します。

2.1 array_unique 関数を使用して重複を削除する

PHP には、array_unique 関数が組み込まれており、配列、例:

$numbers = array(1, 2, 3, 4, 5, 5, 4);
$uniqueNumbers = array_unique($numbers);

上の例では、複数の同一のキー値を含む配列 $numbers を定義し、array_unique 関数を使用して重複を排除しました。その結果、同じキー値を持つ値が削除されます。最終的に、$uniqueNumbers は、異なるキー値を含む新しい配列になります。

2.2 array_filter 関数を使用してキー値をフィルタリングします

array_filter 関数は、配列内の要素をフィルタリングするために使用され、要素を含む配列を受け入れ、必要な要素のみを含む新しい配列を返します。指定された条件を満たしていること。

たとえば、次のコードでは、複数の同一のキー値を含む配列 $numbers を定義し、array_filter 関数を使用して重複するキー値を除外します。

$numbers = array(1, 2, 3, 4, 5, 5, 4);
$uniqueNumbers = array_filter($numbers, function ($value, $key) use ($numbers) {
    return array_keys($numbers, $value)[0] === $key;
}, ARRAY_FILTER_USE_BOTH);

上記のコードでは、匿名関数を使用し、配列 $numbers と現在のキー値をパラメーターとして渡します。関数本体では、array_keys 関数を使用して、配列 $numbers 内で最初に出現した現在のキー値を取得し、それを現在のキー値と比較します。 2 つのキー値が同じ場合にのみ True が返されます。最終的に返される新しい配列は、重複のないキー値のみを含む配列です。

2.3 foreach ループの走査を使用して重複排除を実現する

foreach ループを使用して配列を走査し、一時変数を使用して重複しないキー値を保存できます。各要素について、それが一時変数にすでに出現しているかどうかを確認します。存在する場合は元の配列から削除され、そうでない場合は一時変数に追加されます。

以下はサンプル コードです:

$numbers = array(1, 2, 3, 4, 5, 5, 4);
$tempNumbers = array();
foreach ($numbers as $key => $value) {
    if (in_array($value, $tempNumbers)) {
        unset($numbers[$key]);
    } else {
        $tempNumbers[] = $value;
    }
}

上記のコードでは、まず一時配列 $tempNumbers を定義し、foreach ループを使用して元の配列 $numbers を走査します。各要素について、その要素が一時配列 $tempNumbers にすでに存在するかどうかを確認します。存在する場合は、unset 関数を使用して元の配列 $numbers から削除し、それ以外の場合は一時配列 $tempNumbers に追加します。最終的に、$numbers 配列は重複キー値のない配列になります。

  1. まとめ

この記事では、PHP プログラミング言語で配列から同一のキー値を削除する操作を紹介しました。 PHP の組み込み関数 array_unique、array_filter、foreach ループを使用すると、配列内の重複するキー値を簡単に削除できます。どの方法を使用する場合でも、開発者が PHP 配列内のデータをより効率的に処理するのに役立ちます。

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

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