Php 从foreach循环中断

Php 从foreach循环中断,php,post,foreach,Php,Post,Foreach,我在一个网站上工作,根据用户数量生成行。在这个例子中,我有三个用户。基本上,我使用下拉选择数据通过$\u POST传递数据。下面是我要传递给PHP的内容。它们被包装在中,但我清理它只是为了显示重要的数据 ... <select name="taction[3]" > <option value="accept">Accept</option> <select name="taction[4]" > <option value="accep

我在一个网站上工作,根据用户数量生成行。在这个例子中,我有三个用户。基本上,我使用下拉选择数据通过$\u POST传递数据。下面是我要传递给PHP的内容。它们被包装在
中,但我清理它只是为了显示重要的数据

...
<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);
        }
    }
}
$total=1;
foreach($\u POST['taction']作为$userid=>$action)
{
如果($action==“accept”)
{
如果($total更改为

if($total <= 1)

if($total感谢您的建议。我的错误在于依赖foreach语句之外的变量。我必须再次复制循环中的操作,以便它注册添加的数据。

也许您可以执行整个代码块(包括前面的
$total=1
三次?我在代码中立即注意到的一件事是=>应该>=表示“大于或等于”,而不是等于或大于“Jimmy that=>用于foreach循环,不用于检查大于/等于。代码可以处理伪数据,您的HTML是错误的……您的选择从未关闭……请尝试var_dump($\u POST)看看会发生什么…@Mike Sanchez看起来你没有在做TDD。为什么不试一试呢?你可能会很快修复错误,更重要的是,首先要防止再次发生错误。然后他将不会得到任何输出,因为foreach循环在第一轮时甚至在打印任何用户之前都会中断。