PHP プログラミング言語では、配列 (配列) は非常に一般的に使用されるデータ型です。複数のデータ要素を保存し、キーを介して各要素にアクセスできます。開発プロセスでは、配列内の同じキーを持つ値を削除する必要がある状況によく遭遇します。この記事では、この操作を PHP で実装する方法を紹介します。
PHP では、配列は順序付けられたデータのコレクションであり、整数、浮動小数点などのさまざまなデータ型を含めることができます。型、文字列型、ブール型など。配列の要素には、キー値を使用してアクセスできます。 PHP では、array()
関数を使用したり、[]
演算子を使用して配列を作成したりするなど、さまざまな形式で配列を宣言および初期化できます。
たとえば、次のコードでは、5 つの要素を含む配列を作成し、各要素を初期化できます。
$numbers = array(1, 2, 3, 4, 5);
または、[]
演算子を使用して配列を初期化することもできます。
$numbers = [1, 2, 3, 4, 5];
どちらの場合も、変数 $numbers
は次のようになります。 5 つの要素の配列であり、各要素にはキー値によってアクセスできます。たとえば、$numbers[0]
を使用して最初の要素にアクセスできます。
通常、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 配列は重複キー値のない配列になります。
この記事では、PHP プログラミング言語で配列から同一のキー値を削除する操作を紹介しました。 PHP の組み込み関数 array_unique、array_filter、foreach ループを使用すると、配列内の重複するキー値を簡単に削除できます。どの方法を使用する場合でも、開発者が PHP 配列内のデータをより効率的に処理するのに役立ちます。
以上がPHPで同じキー値を持つ配列の削除を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。