ต่อไปนี้เป็นการประยุกต์ จากการนำฟังก์ชัน ที่สร้างขึ้น สำหรับการ แปลงค่า xml object ใน xml ไฟล์ มาเป็นตัวแปร Array ใน php เพื่อสะดวกในการนำค่าจากไฟล์ xml ไปใช้งาน
php ฟังก์ชั่น สำหรับ แปลงค่า xml object เป็นตัวแปร array ใน php
<?php function objectsIntoArray($arrObjData, $arrSkipIndices = array()) { $arrData = array(); // if input is object, convert into array if (is_object($arrObjData)) { $arrObjData = get_object_vars($arrObjData); } if (is_array($arrObjData)) { foreach ($arrObjData as $index => $value) { if (is_object($value) || is_array($value)) { $value = objectsIntoArray($value, $arrSkipIndices); // recursive call } if (in_array($index, $arrSkipIndices)) { continue; } $arrData[$index] = $value; } } return $arrData; }
การใช้งาน
<?php function objectsIntoArray($arrObjData, $arrSkipIndices = array()) { $arrData = array(); // if input is object, convert into array if (is_object($arrObjData)) { $arrObjData = get_object_vars($arrObjData); } if (is_array($arrObjData)) { foreach ($arrObjData as $index => $value) { if (is_object($value) || is_array($value)) { $value = objectsIntoArray($value, $arrSkipIndices); // recursive call } if (in_array($index, $arrSkipIndices)) { continue; } $arrData[$index] = $value; } } return $arrData; } // การใช้งาน $xmlUrl = "https://www.ninenik.com/demo/google_map/friend_list.xml"; // XML ไฟล์ $xmlStr = file_get_contents($xmlUrl); $xmlObj = simplexml_load_string($xmlStr); // สร้างเป็น xml object $arrXml = objectsIntoArray($xmlObj); // แปลงค่า xml object เป็นตัวแปร array ใน php echo "<pre>"; print_r($arrXml); // เพื่อดูโครงสร้างของตัวแปร array echo "</pre>"; ?>