Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Saya Mendapat \'Cuba untuk mengakses array offset pada nilai jenis null\' dalam PHP 7.4?
Ralat: Mengakses Array Offset pada Nilai Null
Menemui mesej ralat "Cuba untuk mengakses array offset pada nilai jenis null" menandakan bahawa percubaan sedang dibuat untuk mengakses elemen tatasusunan yang tidak wujud.
Isu ini timbul selepas menaik taraf kepada PHP 7.4, yang menggunakan pengendalian ralat yang lebih ketat. Baris yang mencetuskan ralat ialah:
$len = $cOTLdata['char_data'] === null ? 0 : count($cOTLdata['char_data']);
Untuk menyelesaikan isu ini, adalah penting untuk mengesahkan sama ada $cOTLdata adalah batal. Dalam versi PHP sebelum 7.4, ralat tersebut mungkin telah diabaikan, tetapi dalam 7.4, ralat tersebut dibenderakan secara eksplisit.
Penyelesaian:
Untuk menyemak sama ada $cOTLdata adalah batal , gunakan fungsi is_null():
if (is_null($cOTLdata)) { $len = 0; } else { $len = count($cOTLdata['char_data']); }
Sebagai alternatif, jika kedua-duanya $cOTLdata dan $cOTLdata['char_data'] berpotensi menjadi batal, gunakan isset() untuk menyemak kedua-duanya sekali:
$len = isset($cOTLdata['char_data']) ? count($cOTLdata['char_data']) : 0;
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Cuba untuk mengakses array offset pada nilai jenis null' dalam PHP 7.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!