Heim >Backend-Entwicklung >PHP-Tutorial >Wie gehe ich mit doppelten Schlüsseln in assoziativen PHP-Arrays um?

Wie gehe ich mit doppelten Schlüsseln in assoziativen PHP-Arrays um?

DDD
DDDOriginal
2024-12-15 15:58:16400Durchsuche

How to Handle Duplicate Keys in PHP Associative Arrays?

Wie man mit doppelten Schlüsseln in assoziativen PHP-Arrays umgeht

Ein assoziatives Array ist eine Datenstruktur, die Schlüssel-Wert-Paare speichert und einen effizienten Abruf von Werten basierend auf ihren zugehörigen Werten ermöglicht Schlüssel. Allerdings erlauben assoziative Arrays standardmäßig keine doppelten Schlüssel.

Beachten Sie den folgenden Code:

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;
}

Diese Funktion versucht, Werte zu einem assoziativen Array hinzuzufügen, überschreibt jedoch alle vorhandenen Schlüssel mit den gleichen Namen. Wenn Sie damit beispielsweise ein Array wie dieses erstellen:

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

...erhalten Sie am Ende Folgendes:

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

Um diese Einschränkung zu überwinden, sollten Sie die Erstellung eines in Betracht ziehen verschachtelte Array-Struktur. Anstelle doppelter Schlüssel können Sie eindeutige Schlüssel verwenden, die Arrays mit mehreren Elementen entsprechen. Zum Beispiel:

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

Auf diese Weise können Sie über die verschachtelte Array-Struktur auf mehrere Einträge zugreifen, die demselben Bezeichner zugeordnet sind.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit doppelten Schlüsseln in assoziativen PHP-Arrays um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn