/** * 將xml轉換為陣列 * @param string $xml:xml檔案或字串 * @return array */ function xmlToArray($xml){ //考慮到xml文件中可能會包含<![CDATA[]]>標籤,第三個引數設定為LIBXML_NOCDATA if (file_exists($xml)) { libxml_disable_entity_loader(false); $xml_string = simplexml_load_file($xml,'SimpleXMLElement', LIBXML_NOCDATA); }else{ libxml_disable_entity_loader(true); $xml_string = simplexml_load_string($xml,'SimpleXMLElement', LIBXML_NOCDATA); } $result = json_decode(json_encode($xml_string),true); return $result; }
二、jsonp轉換成陣列
/** * 把jsonp轉為php陣列 * @param string $jsonp jsonp字串 * @param boolean $assoc 當該引數為true時,將返回array而非object * @return array */ function jsonp_decode($jsonp, $assoc = false) { $jsonp = trim($jsonp); if(isset($jsonp[0]) && $jsonp[0] !== '[' && $jsonp[0] !== '{') { $begin = strpos($jsonp, '('); if(false !== $begin) { $end = strrpos($jsonp, ')'); if(false !== $end) { $jsonp = substr($jsonp, $begin + 1, $end - $begin - 1); } } } return json_decode($jsonp, $assoc); }
相關推薦:《PHP教學》
以上就是PHP-xml & jsonp轉陣列的方法的詳細內容,更多請關注TW511.COM其它相關文章!