Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich eine durch Punkte getrennte Zeichenfolge in ein verschachteltes Array?

Wie konvertiere ich eine durch Punkte getrennte Zeichenfolge in ein verschachteltes Array?

DDD
DDDOriginal
2024-10-31 03:36:01632Durchsuche

How to Convert a Dot-Delimited String to a Nested Array?

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!

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