Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat \'Ralat Terperangkap: Akses Offset Tatasusunan pada Nilai Boolean\' dalam PHP 7.4?

Mengapa Saya Mendapat \'Ralat Terperangkap: Akses Offset Tatasusunan pada Nilai Boolean\' dalam PHP 7.4?

Patricia Arquette
Lepaskan: 2024-11-15 04:18:02
asal
613 orang telah melayarinya

Why Am I Getting

Ralat Terperangkap: Akses Offset Tatasusunan pada Nilai Boolean dalam PHP 7.4

Pertanyaan:

Selepas menaik taraf kepada PHP 7.4.1, ralat berikut berlaku:

Notice: Trying to access array offset on value of type bool in
Salin selepas log masuk

dalam blok kod ini:

public static function read($id)
{
    $Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE);
    
    # http://php.net/manual/en/function.session-start.php#120589
    //check to see if $session_data is null before returning (CRITICAL)
    if(is_null($Row['Data']))
    {
        $session_data = '';
    }
    else
    {
        $session_data = $Row['Data'];
    }
    
    return $session_data;
}
Salin selepas log masuk

Penyelesaian:

PHP 7.4 menguatkuasakan pemeriksaan jenis yang lebih ketat, menyebabkan ralat ini apabila $Row['Data'] mungkin batal. Untuk menyelesaikan masalah ini, gunakan operator penggabungan nol (??) untuk menetapkan nilai lalai jika $Row['Data'] adalah nol:

return $Row['Data'] ?? 'default value';
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan operator penugasan gabungan nol (? ?=) untuk menetapkan nilai lalai jika $Row['Data'] adalah batal:

$Row['Data'] ??= 'default value';
return $Row['Data'];
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Saya Mendapat \'Ralat Terperangkap: Akses Offset Tatasusunan pada Nilai Boolean\' dalam PHP 7.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan