ต่อไปนี้เป็นการประยุกต์ จากการนำฟังก์ชัน ที่สร้างขึ้น สำหรับการ แปลงค่า 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>";
?>