我有这个代码:
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 |语义分析