Heim >Backend-Entwicklung >PHP-Tutorial >Wie lege ich verschachtelte Array-Daten mithilfe eines String-Pfads in PHP dynamisch fest?

Wie lege ich verschachtelte Array-Daten mithilfe eines String-Pfads in PHP dynamisch fest?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 09:48:10422Durchsuche

How to Dynamically Set Nested Array Data Using a String Path in PHP?

Verwenden eines String-Pfads zum Festlegen verschachtelter Array-Daten

Frage:
Wie kann ich verschachtelte Daten dynamisch festlegen? Array-Daten mithilfe eines Zeichenfolgenpfads, z. B. „cars.honda.civic“, zu $data'cars'['civic'], ohne sich darauf zu verlassen auf eval()?

Antwort:
Der Referenzoperator (&) ermöglicht diese dynamische Einstellung:

$temp = &$data;
foreach ($exploded_path as $key) {
    $temp = &$temp[$key];
}
$temp = $value;
unset($temp);

Mit diesem Ansatz können Sie Legen Sie die verschachtelten Array-Daten effizient fest, ohne dass eval() erforderlich ist. So funktioniert es:

  • $temp wird als Referenz auf das Root-Array ($data) initialisiert.
  • Die Schleife iteriert über den explodierten Pfad und aktualisiert $temp, um sukzessive zu referenzieren den vorhandenen Arrays.
  • $temp wird schließlich der gewünschte Wert zugewiesen $value.
  • unset($temp) löscht die Referenz und verhindert so unbeabsichtigte Nebenwirkungen.

Das obige ist der detaillierte Inhalt vonWie lege ich verschachtelte Array-Daten mithilfe eines String-Pfads in PHP dynamisch fest?. 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
Vorheriger Artikel:PHP HyperF -> Firebase JWTNächster Artikel:PHP HyperF -> Firebase JWT