Conversion de la notation par points en tableaux multidimensionnels en PHP
En PHP, il est possible d'émuler une structure de tableau multidimensionnel en utilisant la notation par points comme "ceci .cet.autre". Cependant, cela peut devenir fastidieux à gérer et à modifier. Pour résoudre ce problème, une méthode est recherchée pour convertir la notation par points en un tableau multidimensionnel.
Une solution suggérée utilise la fonction suivante :
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
Cette fonction parcourt les clés séparées par des points, créer toutes les clés manquantes en cours de route et finalement attribuer la valeur souhaitée.
Par exemple, le point suivant notation :
s1.t1.column.1 = size:33%
Peut être converti en un tableau multidimensionnel comme ceci :
assignArrayByPath($source, 's1.t1.column.1', 'size:33%'); echo $source['s1']['t1']['column']['1']; // Output: size:33%
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!