最近用PHP玩json的时候发现
要使用foreach的时候居然无法循环列出
以下是code
<?php
1 $json='
2 {
3 "test":[
4 {
5 "pid":34,
6 "name":cat
7 },
8 {
9 "pid":35,
10 "name":dog
11 }
12 ]
13 }';
14
15 $testjson=json_decode($json);
16 echo $testjson->test[0]->pid."<br/>";
17 foreach($testjson as $key =>$value){
18 $value[0]->pid;
19 }
?>
一开始15行传到testjson是物件
可是当使用foreach后传到$value的时候就变成一种奇怪的状态
用var_dump看了一下
似乎是物件在阵列里面?
更让我惊讶的是$key里面居然是test冏
然后pid只跑出一笔,可是不$value[0]又会错误,被那个test卡著
我查了一下有两个解决方式
1.改15行的json_decode($json,true)直接变成阵列
可是我又很不想用阵列
2.使用for循环但看起来好丑,也不太想用
各位大大有别的思路吗? 小弟在此先谢过