0

配列の電子メール値の値を出力しようとしていますが、問題があります。配列は 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;
4

2 に答える 2

3

json_decodeJSオブジェクトに配列構造を強制するには、2番目の引数を使用する必要があります。

json_decode($this->bck_content, true);

これにより、json内のすべてのJSオブジェクトが、PHPStdObjectsではなく連想配列としてデコードされるようになります。

もちろん、これは、配列表記を使用してそれらにアクセスすることを前提としています。オブジェクト表記の使用に問題がない場合は、次を使用できます。

$value = $details_array->email;
于 2012-04-25T18:00:26.520 に答える
1

これを試してみてください

$value = $details_array->email;

また

json_decode($json, true);

また

$details_array = (array)json_decode($json);

何を間違えたのかがエラーの説明に書かれています

于 2012-04-25T18:00:53.210 に答える