Скажем, у вас есть следующий массив:
$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);
Я ищу подход, который использует итерацию.
