ต่อไปนี้เป็นการประยุกต์ จากการนำฟังก์ชัน ที่สร้างขึ้น สำหรับการ แปลงค่า xml object ใน xml ไฟล์ มาเป็นตัวแปร Array ใน php เพื่อสะดวกในการนำค่าจากไฟล์ xml ไปใช้งาน
php ฟังก์ชั่น สำหรับ แปลงค่า xml object เป็นตัวแปร array ใน php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?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 ; } |
การใช้งาน
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?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 ; } // การใช้งาน $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>" ; ?> |