问题描述
一整天都在尝试做一些看起来很简单的事情,但我无法从 json 中获取所有子节点(仅获取此代码中的第一个子节点):
foreach($obj->data[0]->region as $code_id) {
echo $code_id->code_id . "\n";
}
下面的 JSON 片段:
{
"data": [
{
"record_id": 9,"region": [
{
"code_id": 2,"code_name": "CA"
},{
"code_id": 3,"code_name": "WY"
}
]
},{
"record_id": 10,"region": [
{
"code_id": 4,{
"code_id": 5,"code_name": "WY"
}
]
}
]
}
教程的任何链接或建议都非常感谢:(
解决方法
如果你想遍历两个数组,下面的方法会起作用:
// Loop over everything inside of data
foreach($obj->data as $thing ) {
// Loop over each region
foreach($thing->region as $region) {
echo $region->code_id . "\n";
}
}
输出为:
2
3
4
5
,
试试这个...
不是最优化的解决方案,但应该能让您重回正轨。
foreach($obj->data[0] as $record) {
if(isset($record->region)){
foreach($record->region as $code){
echo $code->code_id . "\n";
}
}
}