Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Не могу разорвать цикл функцией

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Не могу разорвать цикл функцией
Имя
Сообщение << Старые топики   Новые топики >>
Не могу разорвать цикл функцией - 2009-01-17 21:37:03.603333   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
Выдает Fatal error: Cannot break/continue 1 level
В данной функции, которая находится в цикле while. А нужно разорвать цикл именно при помощи функции или весь скрипт переписывать. Что делать.

while(!isset($jasfjsdhfjhsjhfjshjdfhjs)) {function reload($income) &nbsp;&nbsp;&nbsp; &nbsp;{$income=str_replace('&lt;br&gt;',"\n",$income); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;SCRIPT language='javascript'&gt;". &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "alert('Ошибка:&nbsp; $income')&lt;/script&gt;;". &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "&lt;SCRIPT&nbsp; language='javascript' &gt; ". &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "javascript:history.back(1)&lt;/script&gt;". &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "&lt;noscript&gt;Ошибка: $income&lt;/noscript&gt;"; &nbsp;&nbsp;&nbsp; &nbsp; [b]break;[/b]} //тра та та }
Post #: 1
RE: Не могу разорвать цикл функцией - 2009-01-17 21:53:26.410000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
Ну для начала функцию вынеси и пропиши отдельно, вне цикла, а потом вызывай в цикле, а то глаза сломаешь код читать. И скажи хоть, чо тебе надо в итоге

ЗЫЖ Объявлять функции в цикле - вообще жесть.

&lt;?php Function write_on_monitor() {echo "hello world\n";} While ($i&lt;5) { write_on_monitor(); $i++; } ?&gt;
Post #: 2
RE: Не могу разорвать цикл функцией - 2009-01-17 22:13:41.383333   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
ты сам читал свой код, посмотри где у тебя функция стоит и где break . Т.е. функция ещё не описана, а ты уже прерываешь процесс её создания. Да и правильно тебе говорят, так обьявлять функцию в цикле не получится  * если только менять с каждой иттерацией цикла имя функции ?
Post #: 3
RE: Не могу разорвать цикл функцией - 2009-01-17 23:17:32.113333   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
Цикл одноитерационный. Фишка в том, что в средине скрипта стоит цикл, в конце которого стоит брейк. В случае ошибки функция reload должна прекратить выполнение того куска кода, который находится между скобками цикла, выполнив брейк досрочно, но не должна прирывать выполнения всего скрипта в целом, потому я не могу использовать эксит. Потому условие цикла такое нелепое:  while(!isset($jasfjsdhfjhsjhfjshjdfhjs))
Post #: 4
RE: Не могу разорвать цикл функцией - 2009-01-18 00:56:01.693333   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
покури ман. ещё раз повторять свой предыдущий пост повторять не буду. ответ там.
Post #: 5
RE: Не могу разорвать цикл функцией - 2009-01-18 05:33:06.216666   
Панда

Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000

quote:

ORIGINAL: Masun

Выдает Fatal error: Cannot break/continue 1 level
В данной функции, которая находится в цикле while. А нужно разорвать цикл именно при помощи функции или весь скрипт переписывать. Что делать.

while(!isset($jasfjsdhfjhsjhfjshjdfhjs)) {function reload($income)     {$income=str_replace('&lt;br&gt;',"\n",$income);         echo "&lt;SCRIPT language='javascript'&gt;".        "alert('Ошибка:  $income')&lt;/script&gt;;".        "&lt;SCRIPT  language='javascript' &gt; ".        "javascript:history.back(1)&lt;/script&gt;".        "&lt;noscript&gt;Ошибка: $income&lt;/noscript&gt;";      [b]break;[/b]} //тра та та }



это писец… переписый все.
Post #: 6
RE: Не могу разорвать цикл функцией - 2009-01-18 06:09:23.153333   
b[e]nd3p

Сообщений: 187
Оценки: 0
Присоединился: 2008-09-02 20:54:56.370000
И называй переменные нормально, а то хрен поймешь.
Post #: 7
RE: Не могу разорвать цикл функцией - 2009-01-18 10:27:23.600000   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
я не понимаю, какая разница где инициализировать функцию? Главное, что бы это было сделано до того, как к ней обратятся.
Вот более четкий пример:
function reload($income)
{$outcome=$income*$somevar;
return $outcome;
break;}

while(!isset($jasfjsdhfjhsjhfjshjdfhjs))
{//bla bla bla
if ($error)
{reload("1");
}
break;}

Суть не в том, где я пропишу её или какие переменные и что она будет делать. Суть в том, что бы функция разорвала цыкл
Post #: 8
RE: Не могу разорвать цикл функцией - 2009-01-18 13:03:38.190000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
суть в том что ты никогда ничего путного не напишешь, не дано видимо;


function Funk($one)
{
return 0;
}

while(!isset($jasfjsdhfjhsjhfjshjdfhjs))
{
$one=rand(0,2);

if(!Funk($one))
      break;
else
      $outcome=$income*$somevar;
}

Post #: 9
RE: Не могу разорвать цикл функцией - 2009-01-18 13:38:01.720000   
azimzaim

Сообщений: 320
Оценки: 0
Присоединился: 2009-01-04 22:14:32.760000
Так в том то и проблема, что данная функция должна вывести в качестве значения массив, потому я и не могу сделать, что бы она выводила 0, кроме того, если проверять, а не является функция нулем, как в вашем примере, тогда вообще какой смысл в этой функции? Короче наверно придется делать через инклуд, а не через функцию.
Post #: 10
RE: Не могу разорвать цикл функцией - 2009-01-18 14:21:21.190000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
ты можешь нормально описать задачу? при чём здесь инклуд вообще? 
Post #: 11
RE: Не могу разорвать цикл функцией - 2009-01-18 14:23:56.880000   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
Дак ты при прерывании не ноль а массив выводи
Post #: 12
RE: Не могу разорвать цикл функцией - 2009-01-18 14:27:29.580000   
koro

Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
quote:

ORIGINAL: Cep}|{

Дак ты при прерывании не ноль а массив выводи

да у этой простейшей задачи есть множество решений, просто смысла их писать, он же не понимает нифига и не хочет понимать. он хочет думать, но не понимать
Post #: 13
RE: Не могу разорвать цикл функцией - 2009-01-18 14:32:08.903333   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
да херней мается
Post #: 14
RE: Не могу разорвать цикл функцией - 2009-01-18 14:39:56.836666   
b[e]nd3p

Сообщений: 187
Оценки: 0
Присоединился: 2008-09-02 20:54:56.370000
ты из цикла вызвал функцию, потом она вернет значение обратно в цикл на вывод, потом снова ее вызов. Вот и зачем тебе ее внутри цикла описывать. Про это и говорят тебе.
Post #: 15
RE: Не могу разорвать цикл функцией - 2009-01-18 14:59:25.126666   
rtw

Сообщений: 1372
Оценки: 0
Присоединился: 2004-08-19 00:28:05
Это палата.
while(!isset($jasfjsdhfjhsjhfjshjdfhjs)) {function reload($income) &nbsp;&nbsp; &nbsp;{$income=str_replace('&lt;br&gt;',"\n",$income); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;SCRIPT language='jаvаsсript'&gt;". &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "alert('Ошибка:&nbsp; $income')&lt;/sсriрt&gt;;". &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "&lt;SCRIPT&nbsp; language='jаvаsсript' &gt; ". &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "jаvаsсript:history.back(1)&lt;/sсriрt&gt;". &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "&lt;nosсriрt&gt;Ошибка: $income&lt;/nosсriрt&gt;"; &nbsp;&nbsp; &nbsp; [b]break;[/b]} //тра та та }

Post #: 16
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Не могу разорвать цикл функцией







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.