Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Kaedah Biasa Gagal Menukar stdClass kepada Array dalam PHP?

Mengapa Kaedah Biasa Gagal Menukar stdClass kepada Array dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 16:25:12961semak imbas

Why Do Common Methods Fail to Convert stdClass to Array in PHP?

PHP stdClass to Array Conversion

Apabila cuba menukar objek stdClass kepada tatasusunan dalam PHP, pelbagai pendekatan mungkin tidak menghasilkan hasil yang diingini. Artikel ini meneroka sebab beberapa kaedah biasa gagal dan menawarkan penyelesaian alternatif yang mengekalkan data objek.

Kaedah Tidak Berkesan

Kaedah berikut mungkin menghasilkan tatasusunan kosong disebabkan penggunaan atau pengehadan yang salah:

  • Melempar objek dengan (array)
  • Menggunakan json_decode($booking) tanpa menyatakan pilihan tatasusunan bersekutu
  • Melaksanakan fungsi objectToArray() rekursif

The Lazy One -Kaedah Liner

Kepada dengan cekap menukar objek stdClass kepada tatasusunan, kami boleh menggunakan kaedah pengekodan dan penyahkodan JSON dalam PHP. Berikut ialah penyelesaian satu baris:

$array = json_decode(json_encode($booking), true);<br>

Pendekatan ini mengelakkan prestasi overhed lelaran melalui objek secara rekursif sambil mengekalkan semua objek data.

Keperluan

Kaedah json_encode dan json_decode ialah fungsi terbina dalam dalam PHP versi 5.2.0 dan ke atas. Jika menggunakan versi PHP yang lebih lama, perpustakaan PECL diperlukan.

Menukar stdClass kepada stdClass

$stdClass = json_decode(json_encode($booking));<br>

Menukar stdClass kepada Array

Kaedah json_decode "membolehkan kami menentukan assoc", yang menunjukkan sama ada hendak menukar objek menjadi tatasusunan bersekutu. Dengan menetapkan nilai ini kepada benar, kita boleh menukar objek stdClass kepada tatasusunan:

$array = json_decode(json_encode($booking), true);<br>

Penyelesaian ini menawarkan cara yang mudah dan cekap untuk mengendalikan penukaran stdClass kepada tatasusunan dalam PHP.

Atas ialah kandungan terperinci Mengapa Kaedah Biasa Gagal Menukar stdClass kepada Array dalam PHP?. 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