Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana dengan Cekap Menukar Objek SimpleXML kepada Array dalam PHP?

Bagaimana dengan Cekap Menukar Objek SimpleXML kepada Array dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 05:26:02910semak imbas

How to Efficiently Convert a SimpleXML Object to an Array in PHP?

Menukar Objek SimpleXML kepada Tatasusunan: Pendekatan yang Lebih Cekap dan Teguh

Dalam bidang manipulasi data, menukar objek SimpleXML kepada tatasusunan boleh menjadi tugas biasa. Walaupun kaedah yang digariskan dalam soalan yang disediakan menggunakan fungsi json_decode() boleh berkesan, ia mungkin bukan pendekatan yang paling cekap atau teguh. Berikut ialah penyelesaian alternatif:

Manual PHP menawarkan fungsi yang dipanggil xml2array yang khusus memenuhi proses penukaran ini. Fungsi ini berfungsi dengan melelaran secara rekursif melalui objek SimpleXML dan menukar setiap nod kepada elemen tatasusunan. Berikut ialah contoh:

<code class="php">function xml2array($xmlObject, $out = array())
{
    foreach ((array)$xmlObject as $index => $node)
        $out[$index] = (is_object($node)) ? xml2array($node) : $node;

    return $out;
}</code>

Fungsi ini menukar objek SimpleXML dengan berkesan kepada tatasusunan bersekutu, dengan kuncinya ialah nama nod dan nilainya sama ada rentetan atau tatasusunan bersarang yang mewakili nod anak.

Adalah penting untuk ambil perhatian bahawa, semasa menukar XML kepada tatasusunan membolehkan manipulasi data yang lebih mudah, ia melibatkan kos kehilangan sebarang atribut yang dilampirkan pada nod XML. Oleh itu, tidak semestinya boleh mencipta semula struktur XML asal daripada tatasusunan yang ditukar.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Objek SimpleXML kepada Array dalam PHP?. 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