Si je connais le chemin d'un élément dans le tableau, comment puis-je obtenir la valeur de cet élément ?
Le code suivant signale une erreur, comment la résoudre ? Quelqu'un a-t-il de bonnes idées ?
$m = ['a'=>['b'=>['c'=>'@@@@@']]];
$x = 'abc';
$y = str_replace('.','\'][\'',$x);
$y = 'm[\''.$y.'\']';
écho $$y;
Une erreur sera signalée :
Avis : Variable non définie : m['a']['b']['c'] dans /web/root/index.php à la ligne 9
Les noms de variables dynamiques ne sont valables que pour les variables, pas pour les éléments du tableau.
'm["a"]["b"]["c"]'
Même si $ est ajouté devant, la chaîne entière sera considérée comme une variable et, naturellement, elle ne sera pas trouvée.Vous pouvez simplement utiliser une boucle
?Tout d'abord, la variable $y après l'écho que vous avez imprimé en a un de plus
$
符号,其次如果你想获取@@@@@
,直接$m['a']['b']['c']
En fait, ce que vous avez écrit est correct, ne vous précipitez pas pour demander, jetez simplement un œil à votre code
Personnellement, je pense que face à ce genre de problème, nous devrions envisager d'utiliser la récursivité pour le résoudre au lieu d'utiliser le remplacement de chaîne.
Si vous utilisez le framework Laravel,