加入收藏 | 设为首页 | 会员中心 | 我要投稿 钦州站长网 (https://www.0777zz.cn/)- 智能办公、数据计算、云存储网关、负载均衡、设备管理!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

递归实现php数组转xml的代码分享

发布时间:2022-07-25 10:54:16 所属栏目:PHP教程 来源:互联网
导读:本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用。具体方法如下: PHP中将数组转为xml的需求是常见的,而且实现方法也有很多种,百度找了一下各种实现方法,但是基本是借组一些组件啥的,我就自己写了一个字符串拼组的方法,支持
  本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用。具体方法如下:
 
  PHP中将数组转为xml的需求是常见的,而且实现方法也有很多种,百度找了一下各种实现方法,但是基本是借组一些组件啥的,我就自己写了一个字符串拼组的方法,支持多维数组,仅供参考,不足之处敬请不吝赐教!
 
  /**
  *  将数组转换为xml
  *  @param array $data  要转换的数组
  *  @param bool $root   是否要根节点
  *  @return string     xml字符串
  *  @author Dragondean
  *  @url  http://www.cnblogs.com/dragondean
  */
  function arr2xml($data, $root = true){
    $str="";
    if($root)$str .= "<xml>";
    foreach($data as $key => $val){
      if(is_array($val)){
        $child = arr2xml($val, false);
        $str .= "<$key>$child</$key>";
      }else{
        $str.= "<$key><![CDATA[$val]]></$key>";
      }
    }
    if($root)$str .= "</xml>";
    return $str;
  }
  上面是实现的方法,第一个参数是你要转换的数组,第二个可选参数设定是否需要加<xml>根节点,默认是需要的。
 
  测试代码:
 
  $arr=array('a'=>'aaa','b'=>array('c'=>'1234' , 'd' => "asdfasdf"));
 
  echo arr2xml($arr);
 
  代码执行后的结果为:
 
  <xml><a><![CDATA[aaa]]></a><b><c><![CDATA[1234]]></c><d><![CDATA[asdfasdf]]></d></b></xml>
 
  以上所述就是本文的全部内容了,希望大家能够喜欢。

(编辑:钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读