Transformer la syntaxe de points en tableaux multidimensionnels en PHP
Question :
Comment peut-on vous convertissez efficacement la syntaxe de points, telle que "this.that.other", en un tableau multidimensionnel dans PHP ?
Réponse :
Pour réaliser cette conversion, pensez à implémenter la fonction suivante :
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
Explication :
Cette fonction accomplit la conversion souhaitée en parcourant les clés spécifiées dans le paramètre $path, en utilisant le $separator comme délimiteur. Pour chaque clé, il accède et met à jour l'élément correspondant dans le tableau $arr. Enfin, il attribue la valeur $ à l'élément de niveau le plus bas du tableau.
Exemple d'utilisation :
Pour démontrer la fonctionnalité de la fonction, exécutez le code suivant :
$arr = []; assignArrayByPath($arr, 's1.t1.column.1', 'size:33%'); echo $arr['s1']['t1']['column']['1']; // Output: "size:33%"
En utilisant cette fonction, vous pouvez convertir efficacement la syntaxe de points en tableaux multidimensionnels, simplifiant ainsi la gestion et la récupération de données complexes. structures.
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!