我一直在使用相同的循环几天,但它仍然无法按照我想要的方式工作。我已经尝试了,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
有没有人知道为什么会这样?
答案 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
}