我很难理解这个问题。我有一个具有不同键/值的数组,我想做一个循环,允许我放入不同的代码包装。我正在处理一个数组,我正试图将其作为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";
}