PHP 開発で発生する「PHP 致命的エラー: エラーで stdClass 型のオブジェクトを配列として使用できません」問題の解決策を見てみましょう。
通常の配列では以下のエラーが発生します
コードは次のとおりです | |
配列 ( |
その後、Baiduで同様の質問を検索しましたが、相手はjsonデータでした
PHP が json_decode を呼び出して文字列オブジェクトから json オブジェクトを生成するとき、[] 演算子を使用してデータを取得すると、次のエラーが発生します:
stdClass型のオブジェクトを配列として使用することはできません
原因:
コードは次のとおりです | |
$res = json_decode($res); |
解決策(2種類):
1. json_decode($d, true) を使用します。 json_decode の 2 番目の変数を true に設定するだけです。
2. json_decode($res) はオブジェクトを返しますが、$res['key'] を使用してアクセスすることはできません。$res->key に置き換えてください。
さて、元の問題発見に戻りましょう
問題は、[] を直接使用して表示できないことです。上記のコードの出力は $pic[0]->title に変更されます。普通になる