Punktsyntax in mehrdimensionale Arrays in PHP umwandeln
Frage:
Wie kann Sie konvertieren Punktsyntax wie „this.that.other“ effizient in ein mehrdimensionales Array in PHP?
Antwort:
Um diese Konvertierung zu erreichen, sollten Sie die Implementierung der folgenden Funktion in Betracht ziehen:
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
Erklärung:
Diese Funktion führt die gewünschte Konvertierung durch, indem sie mithilfe des $separators die im Parameter $path angegebenen Schlüssel durchläuft als Trennzeichen. Für jeden Schlüssel greift es auf das entsprechende Element im $arr-Array zu und aktualisiert es. Schließlich wird der $-Wert dem Element der niedrigsten Ebene im Array zugewiesen.
Beispielverwendung:
Um die Funktionalität der Funktion zu demonstrieren, führen Sie den folgenden Code aus:
$arr = []; assignArrayByPath($arr, 's1.t1.column.1', 'size:33%'); echo $arr['s1']['t1']['column']['1']; // Output: "size:33%"
Durch die Nutzung dieser Funktion können Sie die Punktsyntax effektiv in mehrdimensionale Arrays umwandeln und so die Handhabung und den Abruf komplexer Daten vereinfachen Strukturen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Punktsyntax effizient in mehrdimensionale Arrays in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!