2014-05-25 103 views
-5

他们,我通过PUT方法发送一个json数组。问题是,上PHP端,我不知道如何处理它,把它放到件,如 $data['id']$data['name'] 我想什么如何访问PHP中的PUT数据

$input = file_get_contents('php://input'); 
$data = json_decode($input); 
echo print_r($data); 
$id = $data['id']; 
echo $id; 

呼应一个非常正常的期待阵列,但第四行给我

<b>Fatal error</b>: Cannot use object of type stdClass as array in <b>/home/alexa449/public_html/biom/websitec/php/api.php</b> on line 

有人可以帮助解决这个问题。谢谢。

+5

由于错误消息说,'$ data'不是数组,所以你必须做'$数据 - > id'。像往常一样,阅读文档有助于:http://www.php.net/manual/en/function.json-decode.php。 –

+0

此外,在这里简单地搜索错误消息返回了很多答案:['[json]不能使用stdClass类型的对象作为数组](https://stackoverflow.com/search?q=Cannot+use+object + +型+ stdClass的+ AS +阵列+) –

回答

0

你可以试试:

$content = stream_get_contents(fopen('php://input', 'r')); 
parse_str($content, $parameters); 
var_dump($parameters);