Php 具有一项数组的foreach
我正在制作一个脚本,用于解析xml并输出html表单。这是解析后的xml的一部分(print\r) 这是显示html输出的代码:Php 具有一项数组的foreach,php,arrays,for-loop,foreach,Php,Arrays,For Loop,Foreach,我正在制作一个脚本,用于解析xml并输出html表单。这是解析后的xml的一部分(print\r) 这是显示html输出的代码: foreach($category["items"]["item"] as $item){ echo '<input type="radio" name="'.$category["id"].'" value="'.$item["id"].'">'.$item["title"].'</input><br>';
foreach($category["items"]["item"] as $item){
echo '<input type="radio" name="'.$category["id"].'" value="'.$item["id"].'">'.$item["title"].'</input><br>';
}
您需要:foreach($category[“items”]作为$item){
因为
item
它只是数组items
的第一个元素的键,从foreach循环中删除[“item”]
...
foreach($category["items"] as $item){
...
删除
foreach中的[“item”]
(“id”
转换为0
)中的[“item”]
)似乎在这里起作用:顺便说一句:你得到的是“i”
,因为它是[标题]
中“item”的第一个字符(“id”
转换为0
)。我知道这会起作用,但当有多个$category[“items>类别[“items>时怎么办][“item”]
s?@Neb:multiple[item]
的数组是什么样子的?因为PHP不能使用同一个键两次;)@Neb,它可以用于multiple。我想你还不知道foreach
的工作原理。使用数组(不是第一个元素)作为参数,并迭代每个元素。编辑第一篇文章。我可以看到多个元素和单个元素之间的区别,但在xml文件中,它们的编写方式相同。也许我唯一的选择是修改xml解析器以生成$category[“items”][“item”][“0”]即使只有一个项目?@Neb,好吧……现在是另一个结构。定义一下,你必须为你的案例得到正确的答案。
[title] => K
[id] => k
[type] => radio
[items] => Array
(
[item] => Array
(
[0] => Array
(
[title] => n
[id] => n_id
)
[1] => Array
(
[title] => Y
[id] => y_id
)
)
)
...
foreach($category["items"] as $item){
...