我正在创建一个解析xml并输出html表单的脚本。这是解析的xml的一部分(print_r)。
[title] => Base
[id] => base
[type] => radio
[items] => Array
(
[item] => Array
(
[title] => item
[id] => item_id
)
)
这是显示html输出的代码:
foreach($category["items"]["item"] as $item){
echo '<input type="radio" name="'.$category["id"].'" value="'.$item["id"].'">'.$item["title"].'</input><br>';
}
但是不是得到“item”和“item_id”而是我自己得到“i”。与Array and foreach - Stack Overflow相同的问题。当有两个或更多“item”数组时,它工作正常。有没有办法解决这个问题,而不必为1个项目数组做出特定的例外,例如if(count($array) == 1) ...
修改 这是多项目数组的样子:
[title] => K
[id] => k
[type] => radio
[items] => Array
(
[item] => Array
(
[0] => Array
(
[title] => n
[id] => n_id
)
[1] => Array
(
[title] => Y
[id] => y_id
)
)
)
答案 0 :(得分:8)
您需要:
foreach($category["items"] as $item){
因为item
它只是数组items
的第一个元素的关键。
答案 1 :(得分:3)
从foreach循环中删除["item"]
。
...
foreach($category["items"] as $item){
...