Cara Menukar Objek PHP kepada Array Bersekutu dengan Pantas
Apabila menyepadukan API yang beroperasi dengan data berasaskan objek, keperluan sering timbul untuk menukar objek ini kepada tatasusunan untuk diselaraskan dengan kod sedia ada menggunakan tatasusunan. Berikut ialah penyelesaian yang ringkas dan mudah untuk melaksanakan penukaran ini:
Taip Objek:
Untuk menukar objek kepada tatasusunan bersekutu, anda hanya boleh menaipnya seperti itu:
$array = (array) $yourObject;
Kaedah taip ini adalah pendekatan langsung dan cekap. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ia hanya melakukan penukaran cetek.
Kebolehcapaian Harta dalam Tatasusunan Cast:
Apabila menaip objek kepada tatasusunan, pelbagai peraturan dikenakan berkenaan kebolehcapaian hartanah:
Harta Integer Penukaran:
Sifat integer tidak boleh diakses dan tidak akan muncul dalam tatasusunan yang ditukar.
Contoh: Menukar Mudah Objek:
$object = new StdClass; $object->foo = 1; $object->bar = 2; var_dump( (array) $object );
Output:
array(2) { 'foo' => int(1) 'bar' => int(2) }
Contoh: Menukar Objek Kompleks dengan Peribadi dan Dilindungi Sifat:
class Foo { private $foo; protected $bar; public $baz; public function __construct() { $this->foo = 1; $this->bar = 2; $this->baz = new StdClass; } } var_dump( (array) new Foo );
Output:
array(3) { 'Foofoo' => int(1) '*bar' => int(2) 'baz' => class stdClass#2 (0) {} }
Seperti yang anda boleh perhatikan, sifat peribadi dan dilindungi hadir dalam tatasusunan yang ditukar dengan prepended yang ditentukan awalan.
Pemutus Dalam dan Bukan Awam Sifat:
Perhatikan bahawa kaedah tuangan taip ini tidak melakukan tuangan dalam. Untuk mengakses atribut bukan awam, anda mungkin perlu menggunakan bait nol secara eksplisit, seperti yang dijelaskan dalam dokumentasi PHP rasmi.
Untuk mendapatkan maklumat yang lebih mendalam, rujuk sumber yang dipautkan:
Atas ialah kandungan terperinci Bagaimana dengan Pantas Menukar Objek PHP menjadi Tatasusunan Bersekutu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!