Hinweis: Versuch, die Eigenschaft eines Nicht-Objekt-Fehlers zu erhalten

Lesezeit: 2 Minuten

Hinweis Versuch die Eigenschaft eines Nicht Objekt Fehlers zu erhalten
Aleš Kalan

Ich versuche Daten zu bekommen von:

http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson

aber wenn ich die Variable player_name mit diesem Code erhalten möchte:

<?  
$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'});
?>

Ich bekomme Fehler:

Hinweis: Der Versuch, die Eigenschaft eines Nicht-Objekts in **\htdocs\index.php in Zeile 9 + var_dump() zu erhalten, gibt zurück: NULL

var_dump($pjs) kehrt zurück:

array(1) { [0]=> object(stdClass)#52 (15) { ["player_name"]=> string(11) "Mick_Gibson" ["player_id"]=> int(88) ["rank"]=> string(12) "FIRE TURTLEE" ["lastseen"]=> int(1393797692) ["registration_date"]=> string(19) "2012-08-10 17:01:34" ["last_mission_date"]=> string(19) "2014-03-02 21:41:50" ["time_offset"]=> int(1) ["house_id"]=> int(611) ["fines"]=> int(0) ["wanted"]=> int(0) ["police_badge"]=> bool(true) ["vip"]=> bool(false) ["staff"]=> NULL ["stats"]=> object(stdClass)#53 (23) { ["score"]=> int(2941) ["convoy_score"]=> int(818) ["ARTIC"]=> int(515) ["DUMPER"]=> int(565) ["TANKER"]=> int(56) ["CEMENT"]=> int(163) ["TRASH"]=> int(7) ["ARMORED"]=> int(9) ["VAN"]=> int(501) ["TOW"]=> int(502) ["COACH"]=> int(4) ["LIMO"]=> int(97) ["ARRESTS"]=> int(272) ["GTA"]=> int(67) ["BURGLAR"]=> int(122) ["HEIST"]=> int(1) ["PLANE"]=> int(48) ["HELI"]=> int(12) ["FAILED"]=> int(312) ["OVERLOADS"]=> int(160) ["TRUCK_LOADS"]=> int(1275) ["ODOMETER"]=> int(28320798) ["TIME"]=> int(2078450) } ["achievements"]=> array(4) { [0]=> string(20) "Professional Trucker" [1]=> string(13) "Gravel Hauler" [2]=> string(12) "Delivery Boy" [3]=> string(7) "Wrecker" } } }

  • Dein var_dump sagt dir genau was falsch ist. $pjs ist ein Array und kein Objekt. Du willst `$pjs[0]->{‘player_name’}

    – Schleis

    25. März 2014 um 14:01 Uhr

  • Diese Frage scheint nicht zum Thema zu gehören, da es um den Zugriff auf Variablen geht.

    – Mike B

    25. März 2014 um 14:02 Uhr

Das ist weil $pjs ist ein Ein-Element-Array von Objekten, also sollten Sie zuerst auf das Array-Element zugreifen, das ein Objekt ist, und dann auf seine Attribute zugreifen.

echo $pjs[0]->player_name;

Das eigentliche Dump-Ergebnis, das Sie eingefügt haben, sagt es sehr deutlich.

Die Antwort ist ein Array.

var_dump($pjs[0]->{'player_name'});

@Balamanigandan Ihr ursprünglicher Beitrag: – PHP-Hinweis: Versuch, die Eigenschaft eines Nicht-Objekt-Fehlers zu erhalten

Sie versuchen, auf das Null-Objekt zuzugreifen. Von AngularJS übergeben Sie keine Objekte, sondern das $_GET-Element. Versuchen Sie es mit $_GET['uid'] anstatt $objData->token

923980cookie-checkHinweis: Versuch, die Eigenschaft eines Nicht-Objekt-Fehlers zu erhalten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy