这些循环不能正常工作

时间:2011-11-19 20:47:23

标签: php loops for-loop foreach while-loop

我一直在使用相同的循环几天,但它仍然无法按照我想要的方式工作。我已经尝试了,foreach和while,它仍然拒绝工作。

不起作用的代码只是:

    if(!empty($_POST['submit'])){
        $d = count($_POST['deleteT']);
        for ($pi = 1; $pi <= $d; $pi++) {
        echo "Banned ".$_POST['deleteT'][$pi]."</br>";
        }
    }

如果deleteT有两个值:'Bob'和'Joe'将打印:

Banned Joe
Banned

有没有人知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

使用$pi = 0;启动循环索引,仅在$pi < $d时循环。

答案 1 :(得分:1)

我认为你的一个问题出现在你的count语句中,然后是for循环中的<=条件。

如果您使用count(),则只需使用<。例如:

$c = count($my_array);
for ($i = 0; $i < $c; $i++) {
 // do stuff
}

也就是说,迭代数组的一种更简单的方法是使用foreach。像这样:

foreach ($my_array as $key => $val) {
// do stuff with $val or $key
}