Как исправить назначение в условной ошибке в php? - PullRequest
2 голосов
/ 23 ноября 2011

У меня есть этот код:

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

, и я получаю сообщение об ошибке: Assignment in condition, Change to ==

Но я не могу изменить его на == или он не работает.

Кто-нибудь хочет объяснить мне, почему это происходит?

edit.

ошибка для первой строки.

также я получаю такую ​​же ошибку здесь:

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

в первой строке

Ответы [ 3 ]

2 голосов
/ 25 апреля 2013
$row = mysql_fetch_row($result);
while ($row) {   
    $sms_providerchecked0= $row[3];
    $to_return_email12 = $cell."@$sms0";
    $row = mysql_fetch_row($result);
}
1 голос
/ 23 ноября 2011
while ( false!=(list($key, $val)=each($ethnicity)) ) {

У меня нет Zend Studio, так что это может или не может помочь ...

1 голос
/ 23 ноября 2011

Вы пытались поставить дополнительный набор или скобки вокруг условия?

IE:

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

Кроме того, какую IDE вы используете, так как это, скорее всего, может быть проблемой из-за того, что ваша IDE слишком усердна в предотвращении непреднамеренных назначений в условии.

РЕДАКТИРОВАТЬ:

Поскольку вы используете Zend, и ваш код совершенно корректен, похоже, если вы хотите прекратить видеть предупреждение, чтобы вы могли написать свой код так, как вы хотите (это ошибочное предупреждение), вы можете отключить это предупреждение в Окно | Настройки, PHP | Семантический анализ.

...