相关疑难解决方法(0)

多维数组迭代

假设您有以下数组:

$nodes = array(
    "parent node",
    "parent node",
    array(
        "child node",
        "child node",
        array(
            "grand child node",
            "grand child node")));
Run Code Online (Sandbox Code Playgroud)

您将如何将其转换为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>
Run Code Online (Sandbox Code Playgroud)

一种方法是通过递归方法,如:

function traverse($nodes)
{
    echo "<node>";

    foreach($nodes as $node)
    {
        if(is_array($node))
        {
            traverse($node);
        }
        else
        {
            echo "<node>$node</node>";
        }
    }

    echo "</node>";
}

traverse($nodes);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种使用迭代的方法.

php iteration recursion multidimensional-array

2
推荐指数
1
解决办法
4157
查看次数