【问题标题】:SimpleXMLElement to array [duplicate]SimpleXMLElement 到数组 [重复]
【发布时间】:2013-06-17 11:45:13
【问题描述】:

我有数据的 SimpleXMLElement 对象。

要将其转换为数组,我只需

$data = (array) $xmlObj;

没关系,但是像<![CDATA[LOREM IPSUM]]> 这样的数据会转换为空数组。我需要将其转换为普通数组行。

代码:

    $e = simplexml_load_string($fileContent);
    $books = array();
    foreach ($e->product as $book) {
        $books[] = (array) $book;
    }

【问题讨论】:

    标签: php xml arrays


    【解决方案1】:
    function toArray(SimpleXMLElement $xml) {
            $array = (array)$xml;
    
            foreach ( array_slice($array, 0) as $key => $value ) {
                if ( $value instanceof SimpleXMLElement ) {
                    $array[$key] = empty($value) ? NULL : toArray($value);
                }
            }
            return $array;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-27
      • 2013-02-12
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 2014-09-03
      相关资源
      最近更新 更多