2012-04-25 8 views
0

配列の電子メール値の値を出力しようとしていますが、問題があります。 配列が(json_decodeに基づいています)配列から値を取得できません

これは私が

Fatal error: Cannot use object of type stdClass as array in /home/.... line 57 

を受信エラーであるJSON(の値:の$ this - > bck_content)

{"email":"[email protected]","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の2番目の引数を使用して、Jに配列構造を強制する必要がありますSオブジェクト。

json_decode($this->bck_content, true); 

これにより、JSson内のすべてのJSオブジェクトがPHP StdObjectsの代わりに連想配列としてデコードされるようになります。

もちろん、配列表記を使用してそれらにアクセスすることを前提としています。あなたがオブジェクトの表記法を使用して罰金しているなら、あなたは、単に使用することができます。

$value = $details_array->email; 
+0

ありがとう、少なくとも1時間(おそらく2に近い)そのエラーを見つけようとしています:p –

1

が持っているものを、この1

$value = $details_array->email; 

または

json_decode($json, true); 

または

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

を試してみてくださいあなたは間違ったことがエラー記述に書かれています

関連する問題