[PHP]xml 转成数组

PHP 的xml 操作类有多种,xml to array 的方法当然也是有多种的,一般常见的就是递归遍历。今天看了一下php 的手册,然后发现评论中有很多新颖的用法,尽管有些不是很完善。这里列举几个。

//2 line XML2Array
$xml simplexml_load_string($xmlstring);
$array = json_decode(json_encode($xml),TRUE);
//完善过的
function toArray($xml) {
        $array json_decode(json_encode($xml), TRUE);
        
        foreach ( array_slice($array0) as $key => $value ) {
            if ( empty($value) ) $array[$key] = NULL;
            elseif ( is_array($value) ) $array[$key] = toArray($value);
        }

        return $array;
    }
//2 line XML2Array 利用强制类型转换
$xml = simplexml_load_string($file);
$array = (array)$xml;