码迷,mamicode.com
首页 > 编程语言 > 详细

PHP XML转数组,对象转数组

时间:2020-06-15 15:35:41      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:simple   code   UNC   else   imp   ml2   dcl   dump   string   


$xml = 
<<<XML
    <测试XML>
        <测试XML>测试XML</测试XML>
        <测试XML>测试XML</测试XML>
        <测试XML>
            <测试XML>测试XML</测试XML>
            <测试XML>测试XML</测试XML>
        </测试XML>
    </测试XML>
XML;

$obj = new stdClass();
$obj -> 测试对象1 = ‘测试对象‘;
$obj -> 测试对象2 = new stdClass();
$obj -> 测试对象2 -> 测试对象1 = ‘测试对象‘;
$obj -> 测试对象2 -> 测试对象2 = new stdClass();
$obj -> 测试对象2 -> 测试对象2 -> 测试对象1 = ‘测试对象‘;
$obj -> 测试对象2 -> 测试对象2 -> 测试对象2 = ‘测试对象‘;

function xmsb_xml2arr($xml)
{
    $obj = simplexml_load_string($xml);
    $arr[$obj -> getName()] = xmsb_obj2arr($obj);
    
    return $arr;
}

function xmsb_obj2arr($obj)
{
    $arr = (array) $obj;
    
    foreach($arr as &$child)
    {
        if(is_array($child))
        {
            foreach($child as &$childs)
            {
                if(is_object($childs))
                {
                    $childs = xmsb_obj2arr($childs);
                }
            }
        }
        else if(is_object($child))
        {
            $child = xmsb_obj2arr($child);
        }
    }
    
    return $arr;
}

// xml转数组
var_dump(xmsb_xml2arr($xml));
// 对象转数组
var_dump(xmsb_obj2arr($obj));

 

PHP XML转数组,对象转数组

标签:simple   code   UNC   else   imp   ml2   dcl   dump   string   

原文地址:https://www.cnblogs.com/XiaoMingBlingBling/p/13130958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!