PHP如何访问json解码后多维数组内嵌套的1.313浮点值
报错原因
$api_resp['body']节点是一个关联数组,它的第一层子元素键名是整型时间戳1657134820,并不存在键为0的元素,直接用$api_resp['body'][0]访问自然会触发未定义偏移的提示。
正确获取值的方式
你可以根据实际场景选以下两种方案:
- 已知固定键名的场景:直接按层级写全键名访问即可,对应示例里的写法为
$target_value = $api_resp['body'][1657134820][0];
- 键名动态变化、不确定具体值的场景:因为
body下始终只有1个子元素,直接取数组第一个元素的第0位即可,不需要关心中间的动态键名
$target_value = current($api_resp['body'])[0];
执行后$target_value就是你要的浮点值1.313。
注意:如果接口返回的
body节点下可能出现多个子元素,用current()取第一个元素的逻辑要结合业务调整,避免取错数据。
内容的提问来源于stack exchange,提问作者Tom Widerøe
相关产品推荐
相关产品推荐

