Konvertieren einer durch Punkte getrennten Zeichenfolge in ein verschachteltes Array
Gegeben eine Zeichenfolge, die eine verschachtelte Array-Struktur darstellt, z. B. „Main.Sub. SubOfSub“ und einem entsprechenden Wert wie „SuperData“ besteht das Ziel darin, diese Daten in ein tatsächlich verschachteltes Array umzuwandeln.
Um diese Konvertierung zu erreichen, finden Sie hier eine detaillierte Lösung:
$key = "Main.Sub.SubOfSub"; $target = array(); $value = "SuperData"; $path = explode('.', $key); // Split the string into an array of keys $root = &$target; // Reference to the main array while (count($path) > 1) { // Iterate through the path array $branch = array_shift($path); // Get the current branch if (!isset($root[$branch])) { $root[$branch] = array(); // Create the branch if it doesn't exist } $root = &$root[$branch]; // Update the reference to the current branch } $root[$path[0]] = $value; // Set the value at the end of the path
Dieser Code erstellt effektiv ein verschachteltes Array basierend auf dem in der Zeichenfolge angegebenen Pfad. Die Variable $root dient als Referenz auf die aktuelle verschachtelte Ebene innerhalb des Arrays und stellt sicher, dass beim Durchlaufen des Pfads Werte dem richtigen Zweig zugewiesen werden.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine durch Punkte getrennte Zeichenfolge in ein verschachteltes Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!