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递归列出所有文件和目录的代码
Sep 10 PHP
PHP开发中常用的字符串操作函数
Feb 08 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
基础的WordPress插件制作教程
Nov 24 PHP
php上传图片并压缩的实现方法
Dec 22 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
PHP magento后台无法登录问题解决方法
Nov 24 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
tp5.1 框架数据库-数据集操作实例分析
May 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 auth_http类库进行身份效验
2009/03/19 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
php判断访问IP的方法
2015/06/19 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
Jquery插件之多图片异步上传
2010/10/20 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
Python中的tuple元组详细介绍
2015/02/02 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
Python常见的pandas用法demo示例
2019/03/16 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
django创建简单的页面响应实例教程
2019/09/06 Python
Python中logging日志库实例详解
2020/02/19 Python
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
JPA的特点
2014/10/25 面试题
自我鉴定模板
2013/10/29 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
对祖国的寄语大全
2014/04/11 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
公司授权委托书范本
2014/09/18 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
二审答辩状范文
2015/05/22 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis