Jadual Kandungan
Menggunakan Pemutus Jenis (Objek Mudah)
Mengendalikan sifat peribadi dan dilindungi
Menukar objek bersarang atau data kompleks
Rumah pembangunan bahagian belakang tutorial php Bagaimana cara menukar objek ke array dalam php?

Bagaimana cara menukar objek ke array dalam php?

Sep 14, 2025 am 03:14 AM
php tatasusunan

Gunakan (array) untuk menukar objek mudah ke dalam tatasusunan. Jika mereka mengandungi sifat peribadi atau dilindungi, nama utama akan mempunyai aksara khas; Untuk objek bersarang, fungsi rekursif harus digunakan untuk melintasi penukaran untuk memastikan semua objek hierarki menjadi array bersekutu.

Bagaimana cara menukar objek ke array dalam php?

Untuk menukar objek ke array dalam PHP, anda boleh menggunakan kaedah pemutus jenis mudah atau pendekatan rekursif bergantung kepada kerumitan objek.

Menggunakan Pemutus Jenis (Objek Mudah)

Jika objek hanya mengandungi sifat awam dan tiada objek bersarang, taipkan pemutus dengan (array) berfungsi secara langsung.

$ objek = stdclass baru ();
$ object-> name = "John";
$ objek-> umur = 30;

$ array = (array) $ objek;
print_r ($ array);

Output ini:

Array
(
    [Nama] => John
    [umur] => 30
)

Mengendalikan sifat peribadi dan dilindungi

Apabila objek mempunyai sifat peribadi atau dilindungi, pemutus ke array termasuk aksara tambahan dalam kunci untuk menunjukkan penglihatan.

  • Harta peribadi myprop dalam kelas myclass menjadi "\ 0myclass \ 0myprop"
  • Sifat yang dilindungi menjadi "\ 0*\ 0propertyname"

Ini boleh merumitkan akses, jadi pertimbangkan untuk menggunakan getters atau refleksi jika anda memerlukan kekunci array yang bersih.

Untuk objek yang mengandungi objek atau tatasusunan lain, fungsi rekursif memastikan penukaran penuh.

fungsi objekToArray ($ data) {
    jika (is_object ($ data)) {
        $ data = get_object_vars ($ data);
    }
    jika (is_array ($ data)) {
        kembali array_map ('objectToArray', $ data);
    }
    mengembalikan $ data;
}

// Contoh penggunaan
alamat kelas {
    awam $ City = "New York";
    awam $ zip = "10001";
}

orang kelas {
    awam $ name = "Alice";
    alamat $ awam;
    
    fungsi awam __construct () {
        $ this-> alamat = alamat baru ();
    }
}

$ orang = orang baru ();
$ array = ObjectToArray ($ orang);
print_r ($ array);

Pendekatan ini memastikan semua peringkat objek bersarang ditukar menjadi tatasusunan yang berkaitan.

Pada asasnya, gunakan (array) untuk kes -kes mudah, dan fungsi rekursif apabila berurusan dengan objek yang kompleks atau bersarang.

Atas ialah kandungan terperinci Bagaimana cara menukar objek ke array dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mencegah serangan pemalsuan permintaan lintas tapak (CSRF) di PHP? Bagaimana untuk mencegah serangan pemalsuan permintaan lintas tapak (CSRF) di PHP? Sep 11, 2025 pm 12:45 PM

Themosteffectifwaytopreventcsrfattacksinphpisingantietti-csrftokens.generateaseCureTokenviabin2hex (random_bytes (32)), storeitin $ _Session, andincludeitasahiddeninfieldField.uponsubmission, verifyToToShession

Bagaimana untuk mencegah serangan XSS (skrip lintas tapak) di PHP? Bagaimana untuk mencegah serangan XSS (skrip lintas tapak) di PHP? Sep 15, 2025 am 12:10 AM

PELANGGANXSSSByescapingPutWithHtmlSpecialChars () orjson_encode (), validationInputusingFilter_var (), ApplyCPHeaders, andUsingSecureFrameworksLikeLaravel.

Bagaimana cara menukar objek ke array dalam php? Bagaimana cara menukar objek ke array dalam php? Sep 14, 2025 am 03:14 AM

Gunakan (array) untuk menukar objek mudah ke dalam tatasusunan. Jika mereka mengandungi sifat peribadi atau dilindungi, nama utama akan mempunyai aksara khas; Untuk objek bersarang, fungsi rekursif harus digunakan untuk melintasi penukaran untuk memastikan semua objek hierarki menjadi array bersekutu.

Cara menambah tanda air ke imej dalam php Cara menambah tanda air ke imej dalam php Sep 15, 2025 am 03:26 AM

Gunakan perpustakaan GD PHP untuk menambah tanda air ke imej. Muat pertama imej asal dan tanda air (teks atau imej), kemudian gunakan ImageCopy () atau ImagettFtext () untuk bergabung, dan akhirnya menyimpan output. Sokongan JPEG, PNG dan format lain, perhatikan untuk mengendalikan laluan ketelusan dan fon, dan pastikan lanjutan GD diaktifkan.

Bagaimana cara memisahkan rentetan dengan pematuhan dalam php? Bagaimana cara memisahkan rentetan dengan pematuhan dalam php? Sep 11, 2025 pm 12:58 PM

Gunakan fungsi eksploit () untuk memecah rentetan oleh pemisah, dan sintaksinya adalah meneroka (pembatas, rentetan, nombor had), sebagai contoh, mengeksploitasi (",", "Apple, Banana") untuk mengembalikan array ['Apple', 'Banana']; Parameter had boleh mengawal bilangan elemen yang dikembalikan, seperti meneroka ("-", "satu-dua-tiga", 2) untuk mendapatkan ['satu', 'dua-tiga']; Sekiranya pemisah berbilang diperlukan, preg_split () digunakan dengan ungkapan biasa, seperti preg_split (), seperti preg_split

Bagaimana cara bekerja dengan pembolehubah persekitaran dalam php? Bagaimana cara bekerja dengan pembolehubah persekitaran dalam php? Sep 15, 2025 am 03:55 AM

UseTetenv () ToreadenVironmentVariablesandvlucas/phpdotenvtoload.envfilesindevelopment; StoreSensitivedalikikeySoutSideCode, NeverCommit.envtoversionControl, anduseActualenvironmentVariAbsinProductionforsEcurity.

Bagaimana untuk mendapatkan data pos dalam php? Bagaimana untuk mendapatkan data pos dalam php? Sep 16, 2025 am 01:47 AM

Gunakan array hyperglobal $ _POST untuk mendapatkan data pos, baca nilai melalui atribut nama borang, dan gunakan gelung foreach apabila memproses input array, supaya data perlu disahkan dan ditapis untuk mencegah XSS.

See all articles