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 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
PHP 内存缓存加速功能memcached安装与用法
Sep 03 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
精美漂亮的php分页类代码
Apr 02 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
May 04 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 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
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中用于计算对数的log()方法
2015/05/15 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python 对象和json互相转换方法
2018/03/22 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
国贸专业个人求职信范文
2014/01/08 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
共青团员自我评价
2015/03/10 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP
Kubernetes控制节点的部署
2022/04/01 Servers
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers