如何在php中通过键返回对象值?

时间:2013-09-04 09:27:37

标签: php

我对这个问题感到沮丧,但我找不到这个非常简单问题的答案。

我有一个对象: 的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);

1 个答案:

答案 0 :(得分:2)

[key]语法用于访问array中的条目。

正如您从转储中看到的那样,您有一个Object。使用->key访问对象属性。

return $objData->formkey;

如果要查看错误消息,请检查日志文件,或启用报告:How to get useful error messages in PHP?