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
Freigeben: 2024-12-11 09:48:10
Original
430 Leute haben es durchsucht

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage