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

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

DDD
リリース: 2024-12-15 15:58:16
オリジナル
395 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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