Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membetulkan Ralat \'Cuba Mengakses Array Offset pada Nilai Jenis Bool\' dalam PHP 7.4?

Bagaimana untuk Membetulkan Ralat \'Cuba Mengakses Array Offset pada Nilai Jenis Bool\' dalam PHP 7.4?

DDD
DDDasal
2024-11-19 16:34:02223semak imbas

How to Fix

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!

Kenyataan:
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