php实现xml转换数组的方法示例


Posted in PHP onFebruary 03, 2017

本文实例讲述了php实现xml转换数组的方法。分享给大家供大家参考,具体如下:

<?php
$info = '<?xml version="1.0" encoding="utf-8" ?>
      <data>
        <GeocoderSearchResponse>
          <status>OK</status>
          <result>
            <location>
              <lat>39.94921</lat>
              <lng>116.463619</lng>
            </location>
          <precise>0</precise>
          <confidence>50</confidence>
          <level>脚本</level>
          </result>
        </GeocoderSearchResponse>
        <GeocoderSearchResponse>
          <status>OK</status>
          <result>
            <location>
              <lat>39</lat>
              <lng>116</lng>
            </location>
          <precise>0</precise>
          <confidence>50</confidence>
          <level>脚本123</level>
          </result>
        </GeocoderSearchResponse>
      </data>';
$xml = simplexml_load_string($info);
function xml2array($xmlobject) {
  if ($xmlobject) {
    foreach ((array)$xmlobject as $k=>$v) {
      $data[$k] = !is_string($v) ? xml2array($v) : $v;
    }
    return $data;
  }
}
$data = xml2array($xml);
var_dump($data);
?>

运行结果如下:

array(1) {
 ["GeocoderSearchResponse"]=>
 array(2) {
  [0]=>
  array(2) {
   ["status"]=>
   string(2) "OK"
   ["result"]=>
   array(4) {
    ["location"]=>
    array(2) {
     ["lat"]=>
     string(8) "39.94921"
     ["lng"]=>
     string(10) "116.463619"
    }
    ["precise"]=>
    string(1) "0"
    ["confidence"]=>
    string(2) "50"
    ["level"]=>
    string(6) "脚本"
   }
  }
  [1]=>
  array(2) {
   ["status"]=>
   string(2) "OK"
   ["result"]=>
   array(4) {
    ["location"]=>
    array(2) {
     ["lat"]=>
     string(2) "39"
     ["lng"]=>
     string(3) "116"
    }
    ["precise"]=>
    string(1) "0"
    ["confidence"]=>
    string(2) "50"
    ["level"]=>
    string(9) "脚本123"
   }
  }
 }
}
PHP 相关文章推荐
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
PHP获取windows登录用户名的方法
Jun 24 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 #PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 #PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 #PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 #PHP
超强多功能php绿色集成环境详解
Jan 25 #PHP
php 中奖概率算法实现代码
Jan 25 #PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 #PHP
You might like
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php查询内存信息操作示例
2019/05/09 PHP
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
js实现缓动动画
2020/11/25 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python入门篇之编程习惯与特点
2014/10/17 Python
python爬虫的工作原理
2017/03/05 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
python3爬虫中异步协程的用法
2020/07/10 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
高中体育教学反思
2014/01/29 职场文书
农贸市场管理制度
2014/01/31 职场文书
法人代表任命书范本
2014/06/05 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
Android Studio 计算器开发
2022/05/20 Java/Android