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

有这样的一个数组

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

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

Make everything simple instead of making difficulties as simple as possible
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案
array_get($data, 'User.avatar');
2年前 评论
猿来是你 2年前
luyang (作者) 2年前
讨论数量: 4
array_get($data, 'User.avatar');
2年前 评论
猿来是你 2年前
luyang (作者) 2年前

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

2年前 评论
jcc123

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

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

也可能是

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

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

2年前 评论

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

2年前 评论

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