Cara mengatasi Trying to access array offset on value of type null ci 3 di php 7.4

2:13 AM 0

 Mengatasi Masalah Trying to access array offset on value of type null di CodeIgniter 3 PHP 7.4



Jadi masalah ini sebenernya hanya ada di array saja caranya mudah sekali untuk mengatasi masalah seperti ini ga usah panik langsung nurunin versi phpnya tapi kita cari tau dulu kenapa itu bisa terjadi. Emang sih cara extreamnya itu dengan cara menurunkan versi phpnya tapi itu sangat tidak di rekomendasikan. Langsung aja kita solved permasalah ini 


Langkah Pertama yang harus di perhatikan terlebih dahulu itu dengan kita melihat Message Erronya terlebih dahulu. Disini saya mendapatkan Message Error Trying to access array offset on value of type null kenapa bisa terjadi seperti itu? Tentu saja ini terjadi pada versi PHP dimana codingan tersebut masih menggunakan php versi lama sedangkan saya disini menggunakan versi 7.4. Pada PHP Versi lawas mungkin masalah seperti ini sangat tidak ketat, sementara di PHP Versi 7.4 ini bug seperti itu tidak ada lagi.

Cara memperbaikinya seperti berikut : 


Saya mendapatkan error seperti ini pada line 41 menyatakan array tidak mendapatkan nilai


Kode saya yang mengalami error seperti ini:

 $db = $this->admin->get('user', ['id_user' => $this->input->post('id_user', true)]);
$username = $this->input->post('username', true);
$email = $this->input->post('email', true);

$uniq_username = $db['username'] == $username ? '' : '|is_unique[user.username]';
$uniq_email = $db['email'] == $email ? '' : '|is_unique[user.email]';

Setelah saya perbaiki seperti ini codenya :

$db = $this->admin->get('user', ['id_user' => $this->input->post('id_user', true)]);
$username = $this->input->post('username', true);
$email = $this->input->post('email', true);

$uniq_username = isset($db['username']) == $username ? '' : '|is_unique[user.username]';
$uniq_email = isset($db['email']) == $email ? '' : '|is_unique[user.email]';



Jadi pada error tersebut kita hanya butuh menambahkan isset saja. Mudah bukan?