我正在尝试输出数组的电子邮件值的值,但是这样做有问题。 该数组基于json_decode()
这是我收到的错误
Fatal error: Cannot use object of type stdClass as array in /home/.... line 57
JSON(值:$ this-> bck_content)
{"email":"test@email.com","membership_id":"0","fname":"Kenneth","lname":"Poulsen","userlevel":"1","created":"2012-04-23 10:57:45","lastlogin":"2012-04-23 10:58:52","active":"y"}
我的代码
# Display requested user details
$details_array = json_decode($this->bck_content);
$value = $details_array['email'];
print $value;
答案 0 :(得分:3)
您需要使用json_decode
的第二个参数来强制JS对象上的数组结构。
json_decode($this->bck_content, true);
这将确保json中的所有JS对象都被解码为关联数组而不是PHP StdObjects。
当然,假设您要使用数组表示法来访问它们。如果您使用对象表示法没问题,那么您可以使用:
$value = $details_array->email;
答案 1 :(得分:1)
尝试这个
$value = $details_array->email;
或
json_decode($json, true);
或
$details_array = (array)json_decode($json);
你做错了什么是在错误描述中写的