递归实现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>

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php数组
转xml
dom4j递归遍历xml、递归遍历xml、xml 递归、java递归解析xml、递归解析xml,以便于您获取更多的相关知识。

时间: 2024-12-23 22:45:31

递归实现php数组转xml的代码分享_php技巧的相关文章

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

  本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用.具体方法如下: PHP中将数组转为xml的需求是常见的,而且实现方法也有很多种,百度找了一下各种实现方法,但是基本是借组一些组件啥的.我就自己写了一个字符串拼组的方法,支持多维数组.仅供参考,不足之处敬请不吝赐教! ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 /** * 将数组转换为xml * @param array $data 要转换的数组

PHP数组交集的优化代码分析_php技巧

不过由于手机的参数多,且不同的手机其参数差异大,所以参数表结构通常是纵表(一个参数是一行),而不是横表(一个参数是一列),此时使用若干参数来取结果,通常就是把每个单独参数来取结果,再一起取交集. 假定每个参数会包含一千个左右的唯一结果(id int),以此为前提来模拟生成一些数据: 复制代码 代码如下: <?php $rand = function() { $result = array(); for ($i = 0; $i < 1000; null) { $value = mt_rand(1

5种PHP创建数组的实例代码分享_php技巧

看这篇文章之前相信大家都已经看过PHP中文手册关于数组这一节的讲解了,怎么样呢,看懂了多少?至少我第一次阅读文档时是一头雾水,也许是因为在翻译的不够通俗易懂吧^_^!!这里UncleToo根据自己的经验,将数组的各种创建方式用PHP实例代码的方式分享给大家,希望对大家有些帮助(当然,PHP文档还是要多看的) 1.使用array()创建数组 array()创建数组是我们在PHP开发过程中最常用到的一种方式,准确来说array()是一种结构而不是一个函数. 示例1: 复制代码 代码如下: <?php

php递归创建和删除文件夹的代码小结_php技巧

第一种方法: 复制代码 代码如下: <?php /** * 目录生成类 :UtilsMakeDir * @author yepeng * @since 2010.3.18 */ class UtilsMakeDir{ //基目录 建立目录时不会对这个目录进行建立.这应该是个已经存在的目录 private static $makeBasePath = 'video'; private static $delBasePath = 'video'; /** * 递归建立目录, * 建立成功返回这个全路

PHP中把对象转换为关联数组代码分享_php技巧

/** * 对象转关联数组 * @author * @param object $obj * @return array */ function object_to_array($obj){ $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key => $val){ $val = (is_array($val) || is_object($val)) ? $this->object_to_ar

PHP中通过加号合并数组的一个简单方法分享_php技巧

代码: 复制代码 代码如下: <?php $a = array('a' => 'a', 'b' => 'b'); $b = array('c' => 'c', 'd' => 'd'); $c = $a + $b; print('<pre>'); print_r($c); print('</pre>'); ?> 结果: 复制代码 代码如下: Array ( [a] => a [b] => b [c] => c [d] =>

Php图像处理类代码分享_php技巧

目前只实现了三个功能:1:图片缩放,2:图片裁剪,3:加图片水印 在实例化中,通过给第二个参数传不同的值,从而实现不同的功能 复制代码 代码如下: <?php include "image.class.php"; $image=new image("2.png", 1, "300", "500", "5.png"); //使用图片缩放功能 $image=new image("2.png&qu

php处理单文件、多文件上传代码分享_php技巧

php处理  单文件.多文件上传实例代码,供大家参考,具体内容如下  后台处理文件submit_form_process.php  <?php /****************************************************************************** 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为

PHP的简易冒泡法代码分享_php技巧

很基础的东西,感觉代码还不够简洁,希望高手指导修改 复制代码 代码如下: <?php function BubbleSort($str){ for($i=0;$i<count($str);$i++){//从数组末尾取一个值: for ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡: if($str[$k+1]<$str[$k]){ //将小于号改为大于号,就是降序排列: $tmp=$str[$k+1]; $str[$k+1]=$str[$k];