Пока и если заявления не оцениваются правильно - PullRequest
0 голосов
/ 21 марта 2012

РЕДАКТИРОВАТЬ: Этот код теперь работает правильно, я оставил его только в случае, если кто-то окажется в моей ситуации.Спасибо.

Я сталкиваюсь с очень странной ситуацией с моим кодом.У меня есть следующее:

$m = 0; $star = ""; $star2 = "";
while($star == "")
{
   //some stuff
   if(m1 == 0) { break; }           
   $m1 -= 1;
}

По какой-то безумной причине, когда я отлаживаю этот код, он запускает цикл while только один раз (даже если $star все еще равен "" и затем достигаетif и перерывы. Я пробовал разные подходы безрезультатно. Кто-нибудь знает, почему это происходит?

Ответы [ 3 ]

1 голос
/ 21 марта 2012

До m1 нет $, поэтому PHP примет это за буквальную строку «m1» и выдаст сообщение об ошибке.Затем m1 сравнивается с 0, и это правда, и ваш цикл прерывается.

В вашем примере вы также не инициализировали $ m1, поэтому даже если вы использовали $ m1, он все равно оборвется.1003 *

Убедитесь, что у вас включены все ошибки и предупреждения PHP, они очень полезны для подобных вещей!

1 голос
/ 21 марта 2012

Полагаю, ты опечатка в этой строке

$star2 = ""
0 голосов
/ 21 марта 2012

m1 рассматривается как пустая строка, так как нет константы с таким именем. Затем он преобразуется в целое число, давая 0, что, конечно, равно 0. Таким образом, ваш цикл завершается в первой итерации.

Возможно, вы забыли $ перед этим m1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...