一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP實現的數組和XML文件相互轉換功能示例

PHP實現的數組和XML文件相互轉換功能示例

2019-10-17 11:11江南極客 PHP教程

這篇文章主要介紹了PHP實現的數組和XML文件相互轉換功能,結合實例形式分析了php針對xml格式數據與數組相互轉換操作技巧,需要的朋友可以參考下

本文實例講述了PHP實現的數組和XML文件相互轉換功能。分享給大家供大家參考,具體如下:

最近搞微信支付,微信服務器返回的都是XML文件,所以需要轉換成數組,才會便于操作,好了話不多說,直接上代碼:

1. XML轉數組

/**
 * 將xml轉為array
 * @param string  $xml xml字符串或者xml文件名
 * @param bool   $isfile 傳入的是否是xml文件名
 * @return array  轉換得到的數組
 */
function xmlToArray($xml,$isfile=false){
  //禁止引用外部xml實體
  libxml_disable_entity_loader(true);
  if($isfile){
    if(!file_exists($xml)) return false;
    $xmlstr = file_get_contents($xml);
  }else{
    $xmlstr = $xml;
  }
  $result= json_decode(json_encode(simplexml_load_string($xmlstr, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
  return $result;
}

用法示例:

$xmlDoc=<<<ETO
<books>
 <book>
 <author>Jack Herrington</author>
 <title>PHP Hacks</title>
 <publisher>O'Reilly</publisher>
 </book>
 <book>
 <author>Jack Herrington</author>
 <title>Podcasting Hacks</title>
 <publisher>O'Reilly</publisher>
 </book>
 <book>
 <author>XML格式化</author>
 <title>服務器之家在線工具</title>
 <publisher>tools.jb51.net</publisher>
 </book>
</books>
ETO;
$relarr=xmlToArray($xmlDoc);
print_r($relarr);

運行結果:

Array
(
  [book] => Array
    (
      [0] => Array
        (
          [author] => Jack Herrington
          [title] => PHP Hacks
          [publisher] => O'Reilly
        )
      [1] => Array
        (
          [author] => Jack Herrington
          [title] => Podcasting Hacks
          [publisher] => O'Reilly
        )
      [2] => Array
        (
          [author] => XML格式化
          [title] => 服務器之家在線工具
          [publisher] => tools.jb51.net
        )
    )
)

2. 數組轉XML

/**
 * 數組轉xml字符
 * @param string  $xml xml字符串
**/
function arrayToXml($data){
  if(!is_array($data) || count($data) <= 0){
    return false;
  }
  $xml = "<xml>";
  foreach ($data as $key=>$val){
    if (is_numeric($val)){
      $xml.="<".$key.">".$val."</".$key.">";
    }else{
      $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
    }
  }
  $xml.="</xml>";
  return $xml;
}

用法示例:

$arrDoc= array("author"=>"XML格式化","title"=>"服務器之家在線工具","publisher"=>"m.ythuaji.com.cn");
$xmlrel=arrayToXml($arrDoc);
//運行結果:<xml><author><![CDATA[XML格式化]]></author><title><![CDATA[服務器之家在線工具]]></title><publisher><![CDATA[tools.jb51.net]]></publisher></xml>

 

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲瑟瑟网 | 韩国理论片最新第一页 | 国产精品短视频 | 欧美精品综合一区二区三区 | 無码一区中文字幕少妇熟女H | 91精品啪在线观看国产91九色 | 国产精品综合在线 | 美女认你摸 | 国产精品视频第一区二区 | free性丰满hd性欧美厨房 | 奇米9999| 青草青草伊人精品视频 | 日本在线播放视频 | 精品国产91久久久久久久 | 2022日韩理论片在线观看 | 欧美bbxx | 亚洲不卡视频在线观看 | 精精国产www视频在线观看免费 | 8天堂资源在线官网 | 国产一区二区三区久久精品小说 | 肉文np高h | a级亚洲片精品久久久久久久 | 91午夜视频| 国产精品日本一区二区三区在线看 | 甜蜜调教 | 国产人va在线 | 九九热在线视频观看这里只有精品 | 免费在线观看中文字幕 | 日本免费v片一二三区 | 日韩免费观看成第15集 | 欧美一区二区三区四区在线观看 | 小莹的性荡生活45章 | 免费黄色片网站 | 福利国产片 | 免费a漫 - 禁密天堂 | 国产精品美女福利视频免费专区 | 办公室操秘书 | 憋尿调教绝望之岛 | 国产精品嫩草影院在线 | 久久一本岛在免费线观看2020 | 欧美精品色精品一区二区三区 |