เราสามารถแก้ปัญหาข้างต้นได้โดยใช้ array_walk_recursive() function.array_walk_recursive() เป็นฟังก์ชัน PHP ในตัว ฟังก์ชันนี้จะแปลงอาร์เรย์เป็นเอกสาร XML โดยที่คีย์ของอาร์เรย์จะถูกแปลงเป็นค่าและค่าของอาร์เรย์จะถูกแปลงเป็นองค์ประกอบของ XML
มาสาธิตด้วยตัวอย่างง่ายๆ
ตัวอย่าง
<?php $array = array ( 'name' => 'alex', 'empdept' => 'account', 'address' => array ( 'city' => 'michigan' ), ); //This function create a xml object with element root. $xml = new SimpleXMLElement(''); array_walk_recursive($array, array ($xml,'addChild')); print $xml->asXML(); ?>
ผลลัพธ์
<?xml version="1.0"?> <root> <name> alex </name> <empdept> account </empdept> <city> michigan </city > </root>
หมายเหตุ
หากข้อความแสดงข้อผิดพลาดแสดงเช่นข้อผิดพลาดร้ายแรงของ PHP:Uncaught Error:ไม่พบคลาส 'SimpleXMLElement' ให้ติดตั้ง php-xml, แพ็คเกจ php-simplexml