Heim > Artikel > Backend-Entwicklung > Wie behebe ich den Fehler „Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen“ beim Zugriff auf API-Daten?
Fehler „Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen“: Einblick und Lösung
Beim Versuch, Daten von der API abzurufen unter „http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson“, möglicherweise tritt bei Verwendung des folgenden Codes der Fehler „Hinweis: Es wird versucht, die Eigenschaft eines Nichtobjekts abzurufen“ auf:
<? $js = file_get_contents('http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson'); $pjs = json_decode($js); var_dump($pjs->{'player_name'}); ?>
Fehlerursache:
Dieser Fehler tritt auf, weil $pjs ein Array ist, das ein einzelnes Objekt enthält, und nicht das erwartete Objekt selbst. Zeile 9 Ihres Codes versucht, direkt auf eine Eigenschaft (Spielername) von $pjs zuzugreifen, bei der es sich um ein Array und nicht um ein Objekt handelt.
Lösung:
Um dieses Problem zu beheben Bei diesem Problem greifen Sie zuerst auf das Array-Element zu, das das Objekt enthält ($pjs[0]), und dann auf das gewünschte Objektattribut:
echo $pjs[0]->player_name;
Detaillierte Erklärung:
Das Ergebnis von var_dump($pjs) zeigt, dass $pjs ein Array mit einem einzelnen Element ist, bei dem es sich um ein Objekt handelt, das verschiedene Spielerdaten enthält. Um auf die Eigenschaft „player_name“ zuzugreifen, müssen Sie zunächst den Array-Index (in diesem Fall 0) angeben und dann auf die gewünschte Eigenschaft des resultierenden Objekts zugreifen.
Indem Sie Ihren Code wie folgt aktualisieren, werden Sie korrekt abrufen die Spielername-Eigenschaft:
echo $pjs[0]->player_name;
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen“ beim Zugriff auf API-Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!