Здравствуйте.
Вот код.
PHP |
$accArray = file('account.txt'); |
PHP |
$x = count($accArray)-1; |
PHP |
echo "i=$i, x=$x<br>"; |
Цитата (Nikitian @ 14.07.2009 - 19:36) |
Если count($accArray)==0 то цикл будет бесконечным. Что видимо у вас и происходит. Такое может быть либо если массив пустой, либо файл не открылся и count($accArray) возвращает false. |
PHP |
if ($i >= $x) |
Цитата (glock18 @ 14.07.2009 - 19:42) | ||||
++. если $x > 0 должно когда-нибудь остановиться. чтобы не было проблем, условие надо делать
sergeiss, собственно правильно сказал. выход из цикла break или return (уж exit, это перебор, пожалуй) придуман не для таких элементарных ситуаций. а судя по тому, что я вижу у вас. вам там подойдет элементарно foreach без всяких count и иже с ними. |
Цитата (see_man @ 14.07.2009 - 23:46) |
Вы же не видели весь код=) |
Цитата (see_man @ 14.07.2009 - 23:58) |
проблема решилась с условием $i >= $x Все-таки может кто-то обьяснить почему так? Меня больше всего интересуют причины. |
Цитата (sergeiss @ 14.07.2009 - 20:01) | ||
А ты сделал контрольный вывод, как я говорил? По числам можно будет предположить. Ты же до сих пор так и не озвучил, чему у тебя равен $x Потому и приходится гадать. |
Цитата (twin @ 15.07.2009 - 00:02) |
дин из них предложил я, другой glock18 |
Цитата (twin @ 14.07.2009 - 20:02) |
Изначально запускать бесконечный цикл - уже не верное решение. Дальнейшие условия выхода не имеют особого смысла. Нужно определить задачу и решать её более щадящими способами. Один из них предложил я, другой glock18 |
Цитата |
Да, делал вывод. при равных x и i условие $i == $x возвращает false. a $i >= $x - true. Либо я чего то не замечаю, либо Вы от меня что то скрываете=)) Ума не приложу в чем дело.... |
Цитата (sergeiss @ 14.07.2009 - 20:12) |
Даже если ИКС РАВЕН НУЛЮ, то всё срабатывает. |
Цитата (sergeiss @ 14.07.2009 - 20:15) |
see_man - ну уж нет! Ты сначала скажи, чему у тебя равен ИКС, иначе я заснуть не смогу |
PHP |
$x=9; |
Цитата |
Я человек очень скромный.... Но лучше будет сказать "один из них предложил я, другой - twin, а третий - glock18". |
Цитата (sergeiss @ 14.07.2009 - 20:27) |
У меня в коде была одна ошибка маленькая Я написал сначала "i=$i, x=$i<br>", потом исправил на "i=$i, x=$x<br>". Сделай это исправление, плз, и запусти заново! |
Цитата (see_man @ 15.07.2009 - 00:30) |
Я не копипастил а сам набирал, у меня верно. |