foreach有一个项目数组

时间:2011-06-07 17:22:28

标签: php arrays for-loop foreach

我正在创建一个解析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

                    )

            )

    )

2 个答案:

答案 0 :(得分:8)

您需要:
foreach($category["items"] as $item){
因为item它只是数组items的第一个元素的关键。

答案 1 :(得分:3)

从foreach循环中删除["item"]

...
foreach($category["items"] as $item){
...