• 技术文章 >后端开发 >PHP问题

    php如何将xml转为array数组

    青灯夜游青灯夜游2021-02-24 11:50:31原创79

    方法:首先用simplexml_load_string()将XML字符串转换为SimpleXMLElement对象;然后用json_encode()将该对象转换为JSON数据;最后用json_decode()将JSON数据转换为数组即可。

    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

    php将xml转换为array数

    1、函数:

    /*
    @desc:xml转数组
    @param data xml字符串
    @return arr 解析出的数组
    */
    function xmltoarray($data){
    $obj = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);
    $json = json_encode($obj);
    $arr = json_decode($json, true);      
    return $arr;
    }

    simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。

    json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。

    json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量(对象或数组)。

    json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

    参数

    2、测试:

    a. 代码:

    <?php
    $string = <<<XML
    <?xml version='1.0'?> 
    <document>
    <title>Forty What?</title>
    <from>Joe</from>
    <to>Jane</to>
    <body>
    I know that's the answer -- but what's the question?
    </body>
    </document>
    XML;
    $arr = xmltoarray($string);
    var_dump($arr);

    b. 输出:

    array(4) {
    ["title"]=>
    string(11) "Forty What?"
    ["from"]=>
    string(3) "Joe"
    ["to"]=>
    string(4) "Jane"
    ["body"]=>
    string(57) "
    I know that's the answer -- but what's the question?
    "
    }

    更多编程相关知识,请访问:编程视频!!

    以上就是php如何将xml转为array数组的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php xml array
    上一篇:php中string方法有哪些 下一篇:php如何实现阻塞
    第15期线上培训班

    相关文章推荐

    • php字符串中替换函数是什么• 了解在centos7中为php7安装redis扩展• php怎么去掉字符串中的数字• php怎么删除txt文件

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网