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

 更新时间:2015年05月14日 11:23:26   投稿:hebedich  
本文以实例形式讲述了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>

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • php通过排列组合实现1到9数字相加都等于20的方法

    php通过排列组合实现1到9数字相加都等于20的方法

    这篇文章主要介绍了php通过排列组合实现1到9数字相加都等于20的方法,实例分析了php排列组合数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • php生成txt文件实例代码介绍

    php生成txt文件实例代码介绍

    这篇文章主要为大家详细介绍了php生成txt文件实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • php学习笔记之字符串常见操作总结

    php学习笔记之字符串常见操作总结

    这篇文章主要介绍了php学习笔记之字符串常见操作,结合实例形式总结分析了php字符串的定义、单引号与双引号的用法以及常见字符串操作函数使用技巧,需要的朋友可以参考下
    2019-07-07
  • PHP操作文件的一些基本函数使用示例

    PHP操作文件的一些基本函数使用示例

    这篇文章主要介绍了PHP操作文件的一些基本函数使用示例,本文给出了复制文件、删除文件、重命名文件、截取文件等操作代码实例,需要的朋友可以参考下
    2014-11-11
  • php简单实现短网址(短链)还原的方法(测试可用)

    php简单实现短网址(短链)还原的方法(测试可用)

    这篇文章主要介绍了php简单实现短网址还原的方法,以脚本之家短网址http://t.cn/heEHwk为例介绍了php还原短网址的实现技巧,非常简单实用,需要的朋友可以参考下
    2016-05-05
  • Linux Apache PHP Oracle 安装配置(具体操作步骤)

    Linux Apache PHP Oracle 安装配置(具体操作步骤)

    本篇文章是对在Linux下安装Apache+PHP连接Oracle的具体操作步骤进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php函数连续调用实例分析

    php函数连续调用实例分析

    这篇文章主要介绍了php函数连续调用的方法,以简单实例形式分析了php采用链式调用的方式连续调用函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php进程(线程)通信基础之System V共享内存简单实例分析

    php进程(线程)通信基础之System V共享内存简单实例分析

    这篇文章主要介绍了php进程(线程)通信基础之System V共享内存,结合简单实例形式分析了PHP System V共享内存原理、相关函数与基本使用技巧,需要的朋友可以参考下
    2019-11-11
  • 利用PHP实现开心消消乐的算法示例

    利用PHP实现开心消消乐的算法示例

    开心消消乐应该对大家来说都不陌生吧,下面这篇文章主要给大家介绍了关于如何利用PHP实现开心消消乐算法的相关资料,文中将需求和示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • PHP通过文件保存和更新信息的方法分析

    PHP通过文件保存和更新信息的方法分析

    这篇文章主要介绍了PHP通过文件保存和更新信息的方法,结合实例形式分析了php基于文件的信息保存相关操作技巧,需要的朋友可以参考下
    2019-09-09

最新评论