You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP数组值打印求助:无法正确输出多维数组元素

解决PHP二维数组的访问与打印问题

你的问题出在**$json是一个二维数组**,外层是索引数组(键为0、1、2),每个索引对应的元素才是包含locationname的关联数组,所以直接用echo $json['locationname'];肯定找不到对应的键值。下面给你几种常用的处理方法:

1. 先查看数组完整结构(调试必备)

如果不确定数组的层级结构,先用var_dump()或者print_r()打印整个数组,能清晰看到所有元素的层级:

// 打印数组的详细结构,包含类型和长度信息
var_dump($json);

// 打印更简洁的数组结构
print_r($json);

2. 访问单个元素的locationname

要访问某一个具体元素的locationname,需要先指定外层数组的索引,再访问内层的键:

// 打印第一个元素的locationname
echo $json[0]['locationname']; // 输出:Anantapur

// 打印第三个元素的locationname
echo $json[2]['locationname']; // 输出:Guntur

3. 遍历所有元素批量打印locationname

如果要一次性输出所有的locationname,可以用foreach循环遍历整个数组:

foreach ($json as $location) {
    // 逐个打印每个地点名称,添加换行符方便阅读
    echo $location['locationname'] . '<br>';
}

4. 输出为标准JSON格式字符串

如果需要把数组转换成前端能直接处理的JSON格式,用json_encode()即可:

echo json_encode($json);

输出结果会是:

[{"locationid":1,"locationname":"Anantapur","locationvalue":1.1},{"locationid":2,"locationname":"Guntakal","locationvalue":1.2},{"locationid":4,"locationname":"Guntur","locationvalue":1.3}]

内容的提问来源于stack exchange,提问作者user9240510

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:12:00