ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「注意: 非オブジェクトのプロパティを取得しようとしています」エラーを修正する方法: Convoy API の例
「通知: 非オブジェクトのプロパティを取得しようとしています」エラーについて理解する
PHP でオブジェクトのプロパティにアクセスしようとすると、非オブジェクトの場合、「通知: 非オブジェクトのプロパティを取得しようとしています」エラーがスローされます。このエラーは、PHP がオブジェクトまたは配列からのみプロパティにアクセスすることを想定しているために発生しますが、この場合、非オブジェクト変数が検出されます。
Convoy API の例でのエラーの解決
提供されたコードは、Convoy API からデータを取得し、応答から「player_name」変数にアクセスしようとします。ただし、応答はスタンドアロン オブジェクトではなく、オブジェクトの配列です。このエラーを解決するには、最初に配列要素にアクセスし、次にオブジェクトの属性にアクセスする必要があります。
<code class="php">$pjs = json_decode($js, true); // Decode JSON as an array echo $pjs[0]['player_name']; // Access "player_name" from the first element (array key 0)</code>
配列構造を理解する
$pjs 変数には、オブジェクトである単一の要素を含む配列。応答はプレーヤーの詳細を表すため、オブジェクトにはプレーヤーの情報に関連するさまざまな属性があります。
応答のダンプ
var_dump($pjs) ステートメントはデータを表示します。応答の構造。 $pjs が 1 つの要素を持つ配列であることがわかります。この要素は、次の属性を持つオブジェクトです。
データ構造を理解すると、「通知: 非オブジェクトのプロパティを取得しようとしています」エラーが発生することなく、目的のプロパティに効果的にアクセスできます。
以上がPHP の「注意: 非オブジェクトのプロパティを取得しようとしています」エラーを修正する方法: Convoy API の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。