Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Ralat \"Notis: Cuba Mendapatkan Harta Bukan Objek\" Semasa Mengakses Data API?

Bagaimana untuk Membetulkan Ralat \"Notis: Cuba Mendapatkan Harta Bukan Objek\" Semasa Mengakses Data API?

DDD
DDDasal
2024-11-01 04:55:27399semak imbas

How to Fix the

"Notis: Mencuba Mendapatkan Harta Bukan Objek" Ralat: Cerapan dan Penyelesaian

Apabila cuba mendapatkan data daripada API di "http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson," anda mungkin menghadapi ralat "Notis: Mencuba mendapatkan sifat bukan objek" apabila menggunakan kod berikut:

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

Punca Ralat:

Ralat ini berlaku kerana $pjs ialah tatasusunan yang mengandungi objek tunggal, bukannya objek yang dijangkakan itu sendiri. Baris 9 kod anda cuba mengakses sifat (nama_pemain) $pjs secara langsung, iaitu tatasusunan, bukan objek.

Penyelesaian:

Untuk menyelesaikan masalah ini isu, mula-mula akses elemen tatasusunan yang mengandungi objek ($pjs[0]) dan kemudian akses atribut objek yang diingini:

echo $pjs[0]->player_name;

Penjelasan Terperinci:

Hasil var_dump($pjs) mendedahkan bahawa $pjs ialah tatasusunan dengan satu elemen, iaitu objek yang mengandungi pelbagai data pemain. Untuk mengakses sifat player_name, anda perlu terlebih dahulu menentukan indeks tatasusunan (dalam kes ini, 0) dan kemudian mengakses sifat yang dikehendaki bagi objek yang terhasil.

Dengan mengemas kini kod anda kepada yang berikut, anda akan mendapatkan semula dengan betul harta pemain_nama:

echo $pjs[0]->player_name;

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \"Notis: Cuba Mendapatkan Harta Bukan Objek\" Semasa Mengakses Data API?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn