Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Menukar Objek PHP dengan Cekap kepada Array Bersekutu?

Bagaimanakah Saya Menukar Objek PHP dengan Cekap kepada Array Bersekutu?

Barbara Streisand
Barbara Streisandasal
2024-12-24 06:33:15114semak imbas

How Do I Efficiently Convert a PHP Object to an Associative Array?

Menukar Objek PHP kepada Tatasusunan Bersekutu

Apabila menyepadukan API yang menggunakan objek dan kod anda menggunakan tatasusunan, keperluan untuk menukar satu kepada yang lain timbul. Untuk tujuan ini, penyelesaian yang mudah dan cekap adalah dengan menaip objek ke tatasusunan seperti ini:

$array = (array) $yourObject;

Kaedah cepat dan kotor ini akan menghasilkan tatasusunan dengan kunci sebagai nama pembolehubah ahli dan nilai sebagai yang sepadan sifat objek. Pengecualian ketara termasuk sifat integer tidak boleh diakses, pembolehubah dilindungi awalan ('*') dan pembolehubah persendirian awalan (' ' nama kelas ' ').

Untuk objek ringkas, perwakilan tatasusunannya akan kelihatan seperti ini:

var_dump( (array) $object );

// Output
array(2) {
  'foo' => int(1)
  'bar' => int(2)
}

Untuk objek yang lebih kompleks, output boleh menyertakan bait nol dan aksara khas sebagai awalan untuk sifat dilindungi dan peribadi, muncul seperti dalam contoh ini:

var_dump( (array) new Foo );

// Output
array(3) {
  'Foofoo' => int(1)
  '*bar' => int(2)
  'baz' => class stdClass#2 (0) {}
}

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan taip ini tidak melemparkan graf objek secara mendalam. Ia paling sesuai untuk objek atau objek StdClass dengan sifat awam semata-mata. Untuk pilihan penghantaran dalam dan cerapan yang lebih terperinci, rujuk dokumentasi dan pautan catatan blog yang disediakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Objek PHP dengan Cekap kepada Array Bersekutu?. 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