Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebe ich den Fehler „Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen“ beim Zugriff auf API-Daten?

Wie behebe ich den Fehler „Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen“ beim Zugriff auf API-Daten?

DDD
DDDOriginal
2024-11-01 04:55:27396Durchsuche

How to Fix the

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn