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
591 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!

sumber:php.cn
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