ホームページ >バックエンド開発 >PHPチュートリアル >PHP 連想配列で重複キーを処理するにはどうすればよいですか?

PHP 連想配列で重複キーを処理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-15 15:58:16397ブラウズ

How to Handle Duplicate Keys in PHP Associative Arrays?

PHP 連想配列で重複キーを処理する方法

連想配列は、キーと値のペアを格納するデータ構造であり、関連付けられたキーと値のペアに基づいて値を効率的に取得できます。キー。ただし、デフォルトでは、連想配列では重複キーが許可されません。

次のコードを考えてみましょう:

function array_push_associative(&$arr) {
    $args = func_get_args();
    foreach ($args as $arg) {
        if (is_array($arg)) {
            foreach ($arg as $key => $value) {
                $arr[$key] = $value;
                $ret++;
            }
        } else {
            $arr[$arg] = "";
        }
    }
    return $ret;
}

この関数は、連想配列に値を追加しようとしますが、既存のキーを上書きします。同じ名前です。たとえば、これを使用して次のような配列を作成すると:

$arr = [];
array_push_associative($arr, ['42' => 56], ['42' => 86], ['42' => 97]);

...最終的には次のようになります:

$arr = ['42' => 97];

この制限を克服するには、入れ子になった配列構造。重複したキーを使用する代わりに、複数の要素を含む配列に対応する一意のキーを使用できます。例:

$arr = [
    '42' => [56, 86, 97],
    '51' => [64, 52],
];

このようにして、入れ子になった配列構造を介して、同じ識別子に関連付けられた複数のエントリにアクセスできます。

以上がPHP 連想配列で重複キーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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