Php 具有一项数组的foreach

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>';

我正在制作一个脚本,用于解析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){

因为
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){
...