Итерация многомерного массива

Допустим, у вас есть следующий массив:

$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);

Я ищу подход, который использует итерацию, хотя.

Ответы на вопрос(2)

Ваш ответ на вопрос