ホームページ > バックエンド開発 > PHPチュートリアル > PHP で多次元配列から重複する部分配列を効率的に削除するにはどうすればよいですか?

PHP で多次元配列から重複する部分配列を効率的に削除するにはどうすればよいですか?

DDD
リリース: 2024-12-24 19:24:11
オリジナル
366 人が閲覧しました

How Can I Efficiently Remove Duplicate Sub-arrays from a Multidimensional Array in PHP?

PHP の多次元配列からの重複値の効率的な削除

PHP の多次元配列から重複値を効果的に削除するには、エレガントなアプローチを使用できます。配列のシリアル化と非シリアル化を使用して使用できます。

次の配列の例:

Array
(
    [0] => Array
    (
        [0] => abc
        [1] => def
    )

    [1] => Array
    (
        [0] => ghi
        [1] => jkl
    )

    [2] => Array
    (
        [0] => mno
        [1] => pql
    )

    [3] => Array
    (
        [0] => abc
        [1] => def
    )

    [4] => Array
    (
        [0] => ghi
        [1] => jkl
    )

    [5] => Array
    (
        [0] => mno
        [1] => pql
    )

)
ログイン後にコピー

この配列から重複を削除するには、次のコードを利用できます:

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
ログイン後にコピー

このコードは次の手順を実行します:

  • シリアル化: 各サブ配列は、serialize() 関数を使用してシリアル化され、一意の文字列表現。
  • 一意性チェック: array_unique() 関数はシリアル化された文字列の配列に適用され、重複が排除されます。
  • 非シリアル化: 最後に、結果として得られる一意の文字列の配列が unserialize() 関数を使用してシリアル化解除され、

このアプローチでは、元の配列構造を維持しながら重複する値を効率的に削除します。これは、大規模な多次元配列があり、重複を迅速に削除する必要があるシナリオに特に役立ちます。

以上がPHP で多次元配列から重複する部分配列を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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