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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
需要发散思维学习PHP
Jun 29 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
php实现学生管理系统
Mar 21 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 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通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
php提取微信账单的有效信息
2018/10/01 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
js实现方块上下左右移动效果
2017/08/17 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
python 标准差计算的实现(std)
2019/07/29 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
惠普香港官方商店:HP香港
2019/04/30 全球购物
股份转让协议书
2014/04/12 职场文书
北京导游词
2015/02/12 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
写给同事的离职感言
2015/08/04 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL