Cara Mengatasi Error cannot use object of type stdclass as array

0

Masalah munculnya error “cannot use object of type stdclass as array” di PHP biasanya disebabkan  karena ada kode yang mencoba untuk mengakses variabel yang merupakan tipe objek sebagai array. Hal ini kemungkinan besar Anda telah mencoba mengakses data array braket generik dan bukan operator objek.

Pada artikel ini, kami akan memberikan tips kepada Anda, bagaimana cara mengatasi masalah cannot use object of type stdclass as array di PHP, berikut adalah solusinya :

1. Perbaiki Kode Operator Objek Yang Sama

Dengan menggunakan kode yang sama saat menggunakan operator objek , maka dari itu dengan mengakses nilai tidak akan menimbulkan terjadinya error.

Contoh Kode :

$object = new stdClass();
$object->myFirstProperty = 'My First Value';
$object->mySecondProperty = 'My Second Value';
$object->myThirdProperty = 'My Third Value';
$object->myFourthProperty = 'My Fourth Value';
//echo $object["myFirstProperty"];
echo $object->myFirstProperty;

Hasil (Output)

My First Value

Ada dua pilihan untuk menyelesaikan masalah kesalahan ini :

  • Pertama akses nilai dengan operator objek seperti yang ditunjukkan pada Contoh Kode diatas.
  • Kedua Anda dapat mengkonversikan objek ke array sebelum mengaksesnya dengan sintaks array (Contoh di bawah) :
$object=newstdClass();
$object->myFirstProperty='My First Value';
$object->mySecondProperty='My Second Value';
$object->myThirdProperty='My Third Value';
$object->myFourthProperty='My Fourth Value';
$array=json_decode(json_encode($object),true);
echo$array["myFirstProperty"];

2. Ubah Kode Menjadi Array

Solusi kedua ini adalah mengubah kode PHP Anda menjadi array, untuk contoh

$database['output'] 

Ubah Menjadi :

$database->output

Jika Anda menggunakan JSON, bisa juga ubah kode menjadi :

$output = json_decode($database,true) 

TINGGALKAN KOMENTAR

Silakan masukkan komentar anda!
Silakan masukkan nama Anda di sini