如何修复php中的条件分配错误


How to fix Assignment in condition error in php?

我有这个代码:

while (list ($key, $val) = each ($ethnicity)) {
    if ($val == '')
        $ethnicity = '';
    break;
}

我得到一个错误说:Assignment in condition, Change to ==

但我不能将其更改为==,否则它不起作用。

有人愿意向我解释为什么会发生这种事吗?

编辑。

错误发生在第一行。

我在这里也得到了同样的错误:

             while (($row = mysql_fetch_row ($result)))
            {   
             $sms_providerchecked0= $row[3];
             $to_return_email12 = $cell."@$sms0";
            }

在第一行

$row = mysql_fetch_row($result);
while ($row) {   
    $sms_providerchecked0= $row[3];
    $to_return_email12 = $cell."@$sms0";
    $row = mysql_fetch_row($result);
}
while ( false!=(list($key, $val)=each($ethnicity)) ) {

我没有zend工作室,所以这可能会也可能不会奏效。。。

你有没有试过在条件周围加一个额外的集合或括号?

IE:

while ((list ($key, $val) = each ($ethnicity))) 
{
    if ($val == '')
    $ethnicity = '';
    break;
}

此外,您正在使用什么IDE,因为这很可能只是一个问题,因为您的IDE过于热衷于在条件下防止无意的分配。

编辑:

当您使用zend时,并且您的代码是完全有效的,看起来如果您想停止看到警告,以便按照您想要的方式编写代码(这是一个错误的警告(,您可以在中禁用该警告窗口|首选项,PHP |语义分析