php 怎么通过字符串拼接访问多维数组的值

有这样的一个数组

$a =  [
     'User'=>[
        'avatar'=> ''
     ]
 ]
  $keyStr = "['User']['avatar']";

通过 $a{$keyStr} 访问不行,不知道php有没有快速访问的方法?

Make everything simple instead of making difficulties as simple as possible
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
array_get($data, 'User.avatar');
3年前 评论
猿来是你 3年前
luyang (作者) 3年前
讨论数量: 4
array_get($data, 'User.avatar');
3年前 评论
猿来是你 3年前
luyang (作者) 3年前

没有,只能自己写函数处理,$a [$key1][$key2][...]

3年前 评论
jcc123

@luyang 这个方法很好,我现在的数据是

$keyStr = "['User']['avatar']"

也可能是

$keyStr = "['User']['avatars'][0]"

那这样的话,把$keyStr 转换成点语法也不错

3年前 评论

@jcc123 那你可以定义一个变量 'User.avatars.0',放在我刚才那个方法的第二个参数

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!