Jika objek diubah menjadi array, hasilnya adalah array yang elemennya adalah properti objek. Kuncinya adalah nama variabel anggota, dengan beberapa pengecualian penting seperti properti integer tidak dapat diakses dan variabel yang dilindungi memiliki '*' yang diawali dengan nama variabel. Nilai yang ditambahkan ini memiliki byte nol di kedua sisinya Show
$object = new StdClass; $object->foo = 1; $object->bar = 2; var_dump( (array) $object ); Keluaran array(2) { 'foo' => int(1) 'bar' => int(2) }_ Contoh. Objek Kompleks 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 (dengan \0s diedit untuk kejelasan) array(3) { '\0Foo\0foo' => int(1) '\0*\0bar' => int(2) 'baz' => class stdClass#2 (0) {} } Keluaran dengan var_export alih-alih var_dump array ( '' . "\0" . 'Foo' . "\0" . 'foo' => 1, '' . "\0" . '*' . "\0" . 'bar' => 2, 'baz' => stdClass::__set_state(array( )), )_ Pengetikan dengan cara ini tidak akan melakukan pengecoran mendalam pada grafik objek dan Anda perlu menerapkan byte nol untuk mengakses atribut non-publik apa pun. Jadi ini berfungsi paling baik saat mentransmisikan objek StdClass atau objek dengan hanya properti publik Kita dapat menggunakan fungsi Misalnya, buat kelas 0 dari kelas Motorcycle menggunakan kata kunci 2. Mengisi properti objek dengan nilai yang sesuai. Demikian pula, buat objek lain, _3 dan isi nilai yang sesuai. Selanjutnya, buat variabel 4 dan tulis fungsi array() padanya dengan dua objek 0 dan 3 sebagai parameter. Terakhir, cetak variabel array 8 dengan fungsi 9Dengan demikian, kita dapat membuat sebuah array objek, seperti yang ditunjukkan pada bagian output. Kami telah membuat larik objek
|