我需要数组转换帮助。我有一个看起来像这样的平面阵列:Php:将平面阵列转换为树状结构
Array
(
[0] => av_one_third
[1] => av_icon_box
[2] => /av_icon_box
[3] => av_button
[4] => av_icon_box
[5] => /av_icon_box
[6] => /av_one_third
)
该数组的值实际上是来自xml结构的标签。我现在需要的是这个数组转换为类似于以下结构的嵌套数组:
[0] => Array
(
[tag] => av_one_third
[content] => Array
(
[1] => Array
(
[tag] => av_icon_box
[content] => Array
(
)
)
[2] => Array
(
[tag] => av_button
[content] => Array
(
)
)
[3] => Array
(
[tag] => av_icon_box
[content] => Array
(
)
)
)
)
etc
是否有一个简单的方法来做到这一点?我的第一个想法是将数组转换为xml字符串并使用phps原生XML函数之一,但问题是自闭合标记不会被标记为这样。在上面的情况下,av_button标签没有结束标记抛出我尝试的xml解析函数。
一些额外的要求: - 元素可以任意数量的子 的 - 最后的阵列必须保持正确的顺序
是否有任何智能数组排序,可以轻松解决这个功能呢? 希望对此有任何提示!
此致:)
你确定你不是最好使用[XML Parser](http://www.php.net/manual/en/refs.xml.php)?否则,你需要创建一个递归函数。 – kjetilh 2013-03-03 18:46:49