2014-05-25 75 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);