从foreach循环中打破
问题描述:
我正在一个网站上工作,其中根据有多少用户生成了行。在这个例子中,我有三个用户。基本上,我使用下拉选择数据通过$ _POST传递数据。这是我传递给PHP的。这些包裹在<form>
中,但我已将其清除以显示重要数据。从foreach循环中打破
...
<select name="taction[3]" >
<option value="accept">Accept</option>
<select name="taction[4]" >
<option value="accept">Accept</option>
<select name="taction[6]" >
<option value="accept">Accept</option>
...
我的PHP是这样的:
$total = 1;
foreach ($_POST['taction'] as $userid => $action)
{
if ($action == "accept")
{
if ($total<1)
{
break;
}
else
{
echo $userid."foo";
$total = ($total - 1);
}
}
}
出于某些原因,它仍然显示三“富的”,当它应该先“富”之后已经停止。我究竟做错了什么?
答
感谢您的建议开始了$总变量。依靠foreach语句之外的变量,我错了。我不得不复制循环内部的操作,以便注册添加的数据。
答
将其更改为
if($total <= 1)
或者为0
+0
然后他不会得到任何输出,因为即使在打印任何用户之前,foreach循环将在第一轮中断。 – Basti 2012-02-20 20:12:49
也许你执行整个代码块(包括领先的'$总= 1'三次? – KingCrunch 2012-02-20 20:04:19
一件事我立刻在你的代码注意的是=>应> =为“大于或等于”,而不是,等于或大于” – JimmyBanks 2012-02-20 20:05:07
吉米大于=>为foreach循环,而不是用于检查大于/小于 – BenOfTheNorth 2012-02-20 20:06:49