PHPでは、array_unique関数を使用して、配列内の重複値を削除し、新しい配列を返します。 1次元配列の場合、この機能は非常に便利です。ただし、2次元配列を処理する場合、Array_uniqueを直接適用できないため、他の方法を使用して2次元Arrayの重複排除を実装する必要があります。この記事では、Array_uniqueを組み合わせて2次元配列の重複排除を実現する方法を紹介します。
複数のサブアレイを含む2次元配列があり、それぞれが要素を重複している可能性があるとします。配列内の複製サブアレイを削除し、1つだけを保持する必要があります。これが例です:
上記の例では、最初のサブアレイは2番目のサブアレイと同じであるため、削除する必要があります。同様に、2番目と3番目のサブアレイは同じであり、最終結果は次のように重複する必要があります。
2次元アレイを推定するために、他のPHP関数と組み合わせてarray_unique関数を使用できます。特定の手順は次のとおりです。
まず、2次元配列を1次元配列に変換して、array_uniqueを使用して重複排除できるようにします。 array_mapおよびcall_user_func_arrayを介して実装できます。
このコードは、array_mergeを使用してすべてのサブリージョンを1次元配列に組み合わせ、call_user_func_array関数を使用して動的に呼び出します。
次に、Array_uniqueを使用して、1次元配列を推定します。
このコードは、$一意の変数に重複排除後の結果を保存します。
最後に、1次元配列を2次元配列に再変換する必要があり、Array_Chunk関数を使用して配列を分割できます。
array_chunk関数を使用して、各サブアレイの長さに応じて1次元配列を回復してファイナルを取得しますdeduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-d eduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-deduplication-de
これが完全なサンプルコードです:
このコードを実行すると、出力は次のとおりです。
Array
(
[0] => Array
(
[0] => apple
[1] => banana
[2] => orange
)
[1] => Array
(
[0] => banana
[1] => grapefruit
[2] => apple
)
[2] => Array
(
[0] => kiwi
[1] => grapefruit
[2] => banana
)
)
上記の方法を使用して、Array_unique関数を使用して2次元Arrayをリミックスしました。最初に、2次元配列を1次元配列に変換し、Array_uniqueを使用して重複排除し、最終的に1次元配列を2次元配列に変換します。この方法はシンプルで効果的であり、重複したサブアレイをすばやく削除するのに役立ちます。
Array_uniqueは、まったく同じ値のサブアレイのみを削除できることに注意する必要があります。同じ構造で異なる要素でサブアレイを削除する必要がある場合、それを処理するにはより複雑なコードが必要になる場合があります。この記事がPHPでarray_unique関数をよりよく理解し、適用するのに役立つことを願っています。