Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyelesaikan Ralat PHP \'Cuba Mengakses Array Offset pada Nilai Jenis Null\'?
Ralat PHP: "Mencuba Mengakses Array Offset pada Nilai Jenis Null"
Dalam persekitaran PHP yang dinaik taraf baru-baru ini, banyak contoh ralat "Cuba untuk mengakses tatasusunan mengimbangi pada nilai jenis null" telah ditemui. Ralat berlaku apabila cuba mengakses kunci tatasusunan pada pembolehubah yang mengandungi nilai nol.
Baris khusus yang menjana ralat ialah:
$len = $cOTLdata['char_data'] === null ? 0 : count($cOTLdata['char_data']);
Pembolehubah $cOTLdata dihantar ke fungsi trimOTLdata, yang menyemak nilai $cOTLdata['char_data'] dan mengembalikan kiraan jika ia bukan batal. Walau bagaimanapun, ralat timbul kerana berlakunya nilai nol dalam $cOTLdata['char_data'].
Penyelesaian
Untuk menyelesaikan isu, adalah penting untuk menyemak sama ada $cOTLdata adalah batal sebelum mengakses kekunci tatasusunannya. Ini boleh dicapai menggunakan fungsi is_null():
$len = is_null($cOTLdata) ? 0 : count($cOTLdata['char_data']);
Jika kedua-dua $cOTLdata dan $cOTLdata['char_data'] berpotensi menjadi batal, anda boleh menggunakan isset() untuk menyemak kewujudannya secara serentak:
$len = !isset($cOTLdata['char_data']) ? 0 : count($cOTLdata['char_data']);
Dengan memasukkan semakan ini, skrip boleh mengendalikan nilai nol dengan berkesan, menghalang ralat daripada berlaku.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat PHP \'Cuba Mengakses Array Offset pada Nilai Jenis Null\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!