如何在PHP中修复条件错误中的赋值?

时间:2011-11-23 17:35:24

标签: php while-loop syntax-error assignment-operator

我有这段代码:

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";
            }

在第一行

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

你是否尝试在条件周围添加额外的一组或括号?

IE:

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

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

编辑:

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

答案 2 :(得分:1)

while ( false!=(list($key, $val)=each($ethnicity)) ) {

我没有zend工作室所以这可能会或可能不会成功...