【发布时间】:2011-09-10 06:43:11
【问题描述】:
我正在制作一个解析 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 相同的问题。当有两个或多个“项目”数组时,它可以正常工作。有没有办法解决这个问题,而不必为 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
)
)
)
【问题讨论】:
-
删除
foreach($category["items"]["item"]中的["item"];) -
似乎在这里工作:codepad.org/PZGbM5Ag
-
顺便说一句:你得到
"i",因为它是[title]中“项目”的第一个字符("id"转换为0)。
标签: php arrays for-loop foreach