Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Punktsyntaxzeichenfolgen in PHP rekursiv in mehrdimensionale Arrays konvertieren?
So erstellen Sie ein mehrdimensionales Array aus der Punktsyntax in PHP
Konvertieren der Punktsyntax in PHP (wie „dieses.das.andere“) ) in ein mehrdimensionales Array kann eine nützliche Aufgabe zum Organisieren von Daten sein. So führen Sie diese Konvertierung durch:
Verwenden einer rekursiven Funktion:
Die folgende Funktion, „assignArrayByPath()“, kann rekursiv durch die Punktsyntax navigieren und ein mehrdimensionales Array erstellen:
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
So funktioniert es:
Die Funktion benötigt vier Parameter:
Beispiel:
Um die Punktsyntax „s1.t1.column.1“ in ein mehrdimensionales Array zu konvertieren, verwenden Sie den folgenden Code:
$source = []; assignArrayByPath($source, 's1.t1.column.1', 'size:33%'); echo $source['s1']['t1']['column']['1']; // Outputs: 'size:33%'
Dieser Ansatz bietet eine flexible und rekursive Methode zum Konvertieren komplexer Punktsyntax in mehrdimensionale Arrays in PHP und stellt so sicher, dass dies der Fall ist Nicht vorhandene Schlüssel werden automatisch erstellt. Dies kann besonders nützlich sein, um verschachtelte Datenstrukturen in ein strukturiertes Array-Format zu analysieren.
Das obige ist der detaillierte Inhalt vonWie kann ich Punktsyntaxzeichenfolgen in PHP rekursiv in mehrdimensionale Arrays konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!