PHP多维数组foreach echo值


PHP multidimensional array foreach echo value

我很难理解这个问题。我有一个具有不同键/值的数组,我想做一个循环,允许我放入不同的代码包装。我正在处理一个数组,我正试图将其作为XML。

这是我的一个例子。。我已经在foreach 中注释了代码附带的内容,以及我正在尝试做的事情

// Multidimensional array
$superheroes = array(
    "spider-man" => array(
        "name" => "Peter Parker",
        "email" => "peterparker@mail.com",
        ),
    "super-man" => array(
        "name" => "Clark Kent",
        "email" => "clarkkent@mail.com",
        ),
    "iron-man" => array(
        "name" => "Harry Potter",
        "email" => "harrypotter@mail.com",
        )
    );
// Printing all the keys and values one by one
    $keys = array_keys($superheroes);
    for($i = 0; $i < count($superheroes); $i++) {
        echo $keys[$i] . "{<br>";
        foreach($superheroes[$keys[$i]] as $key => $value) {
            // echo $key . " : " . $value . "------";
            echo '<wp:meta_key>'.$value['email'].'<wp:meta_key>';
            echo '<wp:meta_value><![CDATA['.$value['name'].']]></wp:meta_value>';
        }
        echo "}<br>";
    }

这是迭代数组的方式,有两个层次:

foreach($superheroes as $key => $hero) {
    echo $key."'n";
    foreach ($hero as $heroKey => $heroValue) {
        echo "'t".$heroKey."=>".$heroValue."'n";
    }
}

你必须根据你的输出进行调整,但我展示了这个概念。第一个foreach迭代所有英雄,第二个foreach迭代每个英雄的所有密钥/值对

编辑:等一下,你到底想要什么有点不清楚。这是你想要的吗?

foreach($superheroes as $key => $hero) {
    echo $key."'n";
    echo "'t".$hero['email']."'n";
    echo "'t".$hero['name']."'n";
}