Tutorials
Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.
Zurück zur Übersicht
PHP: Ein multidimensionales Array mit einem String-Pfad erstellen (Dot)
#Tutorials#PHP
Möchte man aus einem String-Pfad, wie zum beispiel "liste.eintrag.name" und dem Wert "Max Mustermann" ein Array machen, dass multidimensional ist und den Wert dann an der letzten Stelle, so kann man folgende kleine Funktion verwenden.
/**
* Loop through the keys (delimited with . by default) to get to the final property, and then do assignment on the value.
* @param $arr
* @param $path
* @param $value
* @param string $separator
*/
function assignArrayByPath(&$arr, $path, $value, $separator='.') {
$keys = explode($separator, $path);
foreach ($keys as $key) {
$arr = &$arr[$key];
}
$arr = $value;
}
// Benutzung
$arr = [];
$path = 'liste.eintrag.name';
$value = 'Max Mustermann';
assignArrayByPath($arr,$path,$value);
// Resultat:
// array(
// liste => array(
// eintrag => array(
// name => 'Max Mustermann'
// )
// )
// )
Kommentare
Es gibt noch keine Kommentare. Sei der Erste!
Hinterlasse einen Kommentar