Memahami Ralat "Notis: Mencuba mendapatkan harta bukan objek"
Dalam PHP, apabila cuba mengakses sifat sesuatu bukan objek, ralat "Notis: Mencuba mendapatkan harta bukan objek" dilemparkan. Ralat ini berlaku kerana PHP menjangkakan anda mengakses sifat hanya daripada objek atau tatasusunan, manakala dalam kes ini, ia menghadapi pembolehubah bukan objek.
Menyelesaikan Ralat dalam Contoh API Konvoi
Kod yang disediakan cuba mendapatkan semula data daripada API Konvoi dan mengakses pembolehubah "nama_pemain" daripada respons. Walau bagaimanapun, tindak balas adalah pelbagai objek, bukan objek kendiri. Untuk menyelesaikan ralat, anda perlu mengakses elemen tatasusunan dahulu dan kemudian atribut objek.
<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>
Memahami Struktur Tatasusunan
Pembolehubah $pjs mengandungi tatasusunan dengan satu elemen, iaitu objek. Memandangkan respons mewakili butiran pemain, objek mempunyai pelbagai atribut yang berkaitan dengan maklumat pemain.
Melambakkan Respons
Pernyataan var_dump($pjs) memaparkan data struktur tindak balas. Ia mendedahkan bahawa $pjs ialah tatasusunan dengan satu elemen. Elemen ialah objek dengan atribut berikut:
Dengan memahami struktur data, anda boleh mengakses sifat yang diingini dengan berkesan tanpa menghadapi ralat "Notis: Mencuba mendapatkan sifat bukan objek".
Atas ialah kandungan terperinci Cara Membetulkan Ralat 'Notis: Mencuba mendapatkan harta bukan objek' dalam PHP: Contoh API Konvoi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!