Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menukar Objek PHP kepada Tatasusunan Bersekutu dengan Mudah?

Bagaimanakah Saya Boleh Menukar Objek PHP kepada Tatasusunan Bersekutu dengan Mudah?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 08:33:08857semak imbas

How Can I Easily Convert PHP Objects to Associative Arrays?

Tukar Objek PHP kepada Tatasusunan Bersekutu dengan Mudah

Apabila menyepadukan dengan API yang menggunakan struktur berorientasikan objek, ia menjadi perlu untuk menukar objek ini ke dalam tatasusunan bersekutu untuk keserasian dengan kod sedia ada. Berikut ialah cara yang mudah dan cekap untuk mencapai penukaran ini dalam PHP:

Penyelesaian: Typecasting

Hanya menaip objek kepada tatasusunan akan menukarnya kepada tatasusunan bersekutu yang kuncinya ialah nama sifat objek.

$array = (array) $yourObject;

Siaran taip ini tidak melakukan tuangan dalam, jadi jika objek mengandungi objek bersarang, ia tidak akan ditukar kepada tatasusunan. Walau bagaimanapun, ia sesuai untuk objek dengan sifat awam atau objek StdClass yang ringkas.

Objek Kompleks dan Kebolehcapaian Harta

Untuk objek yang lebih kompleks, taip mungkin tidak memberikan anda hasil yang diingini . PHP mempunyai peraturan khusus untuk mengakses sifat bukan awam dalam tatasusunan taip:

  • Sifat peribadi: Masukkan nama sifat dengan nama kelas dan bait nol ( classname propertyName)
  • Sifat yang dilindungi: Tambahkan nama sifat dengan asterisk (*) dan bait nol ( * propertyName)

Contoh:

class Foo
{
    private $foo;
    protected $bar;
    public $baz;
}

var_dump((array) new Foo());

Output:

array(3) {
  ["Foofoo"] => int(1)
  ["*bar"] => int(2)
  ["baz"] => StdClass Object ( ... )
}

Pemutus Dalam dan Sumber Tambahan

Jika anda memerlukan penghantaran dalam graf objek atau memerlukan lebih banyak cerapan ke dalam teknik penukaran ini, pertimbangkan untuk merujuk kepada sumber berikut:

  • Manual PHP: Tatasusunan
  • Catatan Blog: Penukaran Objek PHP pantas kepada Tatasusunan
  • Dokumentasi PHP StdClass

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