我对这个问题感到沮丧,但我找不到这个非常简单问题的答案。
我有一个对象: 的print_r:
stdClass Object
(
[formkey] => 1F9trPeu9DA4W0CjADN4a1fl3Jh682ZPF8remWB21RhI
[draftResponse] => []
[pageHistory] => 0
[entry.358412101] => asdf
[entry.898829644] => asdf
[entry.2071756716] => asdf
[entry.958924423] => asdf
)
的var_dump:
object(stdClass)#1 (7) {
["formkey"]=>
string(44) "1F9trPeu9DA4W0CjADN4a1fl3Jh682ZPF8remWB21RhI"
["draftResponse"]=>
string(2) "[]"
["pageHistory"]=>
string(1) "0"
["entry.358412101"]=>
string(4) "asdf"
["entry.898829644"]=>
string(4) "asdf"
["entry.2071756716"]=>
string(4) "asdf"
["entry.958924423"]=>
string(4) "asdf"
}
我想返回一个值。我认为你应该这样做:
return($objData['formkey']);
但这会返回PHP致命错误:无法使用stdClass类型的对象作为数组。我做错了什么?
我将数据作为json-objec发布到服务器,然后将其转换为:
$data = file_get_contents("php://input");
$objData = json_decode($data);
答案 0 :(得分:2)
[key]
语法用于访问array
中的条目。
正如您从转储中看到的那样,您有一个Object
。使用->key
访问对象属性。
return $objData->formkey;
如果要查看错误消息,请检查日志文件,或启用报告:How to get useful error messages in PHP?