Итерация многомерного массива
Допустим, у вас есть следующий массив:
$nodes = array(
"parent node",
"parent node",
array(
"child node",
"child node",
array(
"grand child node",
"grand child node")));
Как бы вы преобразовали ее в строку XML, чтобы она выглядела так:
<node>
<node>parent node</node>
<node>parent node</node>
<node>
<node>child node</node>
<node>child node</node>
<node>
<node>grand child node</node>
<node>grand child node</node>
</node>
</node>
</node>
Один из способов сделать это - использовать рекурсивный метод, такой как:
function traverse($nodes)
{
echo "<node>";
foreach($nodes as $node)
{
if(is_array($node))
{
traverse($node);
}
else
{
echo "<node>$node</node>";
}
}
echo "</node>";
}
traverse($nodes);
Я ищу подход, который использует итерацию, хотя.