迭代一个对象并转换为一个数组类型

时间:2012-04-17 08:19:31

标签: php xml

我有一个XML类,它读取XML文件并允许像这样访问它

<config>
    <directory>
        <mvc>
             <model>model</model>
        </mvc>
    </directory>
</config>

echo $xml->config->directory->mvc->model

(假设对象已传递给变量$xml

输出

model

我想将每个父/子/值节点转换为数组。所以

echo $xmlArr['config']['directory']['mvc']['model']

echo's model

我正在使用foreach循环设置,但后来意识到如果XML文件具有深层次的嵌套节点,那么我的foreach语句将只覆盖这么多级别。 XML文件是一个我无法解释的动态变量,需要一个动态方法才能递归迭代节点并将它们作为数组索引附加。

3 个答案:

答案 0 :(得分:1)

您可以查看php.net

对于每个深度级别,您可以在循环中创建一个数组,并在迭代后将其附加到主数组。

答案 1 :(得分:1)

在PHP中,您可以使用xml_parse_into_struct方法将XML结构转换为数组

<强>参考:

http://www.php.net/manual/en/function.xml-parse-into-struct.php

答案 2 :(得分:0)