2016-02-26 27 views
0

我发送一个JSON字符串在PHP POST请求。 JSON字符串看起来像这样:如何解析JSON字符串与数组在PHP中

{"mobile":"0000000000","otp":"970996", "items":[{"pid":"12", "vid":"20"},{"pid":"13", "vid":"2"}]} 

在服务器端我想要获得移动,otp和pid和vid所有项目。

我从这个越来越移动电话号码:

$data = json_decode(file_get_contents('php://input'), true); 
//print_r($data); 
echo $data["mobile"]; 

但是,当我试图得到PID和VID是这样的:

foreach($data["items"] as $mydata){ 

    echo $mydata->pid; 
} 

我得到的错误:试图让非财产-目的。

如何解决这个问题?

编辑:

如果有什么更好的办法在PHP解析JSON,请建议也。

+2

尝试'echo $ mydata [“pid”];' –

+0

你已经在''mobile''使用了数组语法,为什么你突然改用对象语法? – deceze

回答

1

刚刚接触pid有:

$mydata['pid'] 

您传递true作为第二个参数为json_decode

When TRUE, returned objects will be converted into associative arrays.

所以,你必须把作为一个数组,而不是一个对象。