Membetulkan "Mencuba Mengakses Array Offset pada Nilai Jenis Bool" Ralat dalam PHP 7.4
Apabila menaik taraf kepada PHP 7.4, sesetengah kod mungkin menghadapi ralat "Cuba mengakses tatasusunan mengimbangi pada nilai jenis bool." Ralat ini timbul apabila mengakses kunci tatasusunan yang sepadan dengan nilai boolean.
Satu penyelesaian untuk isu ini ialah menggunakan operator penggabungan nol (??), yang diperkenalkan dalam PHP 7.0. Operator penggabungan nol menilai ungkapan kiri dan mengembalikan nilainya jika ia bukan nol. Jika tidak, ia mengembalikan nilai ungkapan yang betul.
Dalam kod yang disediakan, isu berlaku dalam baris berikut:
if (is_null($Row['Data'])) { $session_data = ''; } else { $session_data = $Row['Data']; }
Untuk menyelesaikan ralat, gantikan kod dengan yang berikut :
$session_data = $Row['Data'] ?? '';
Sebagai alternatif, anda boleh menggunakan pengendali penugasan null coalescing (??=) untuk mengelakkan keperluan untuk talian tambahan:
$session_data = $Row['Data'] ??= '';
Pengubahsuaian ini memastikan bahawa $session_data mengandungi nilai tatasusunan jika ia wujud atau nilai lalai (dalam kes ini, rentetan kosong) jika kunci tatasusunan sepadan dengan null.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Cuba Mengakses Array Offset pada Nilai Jenis Bool\' dalam PHP 7.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!