Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Бесконечный цикл

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Aricus
Отправлено: 29 Октября, 2014 - 00:24:04
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




На следующий while-цикл выдаётся ошибка:
Fatal error: Maximum execution time of 30 seconds exceeded in S:\home... on line 25
PHP:
скопировать код в буфер обмена
  1. $fAVop = 0; $fAZak = 0; $kat1Num = $id + 1;
  2. while ($katStatusArray[$kat1Num] == 0)
  3. {if ($_POST["KatVop$kat1Num"] !== 1) $fAVop++;
  4. if ($_POST["KatZak$kat1Num"] !== 1) $fAZak++;
  5. $kat1Num++;}

Насколько понимаю, это означает, что цикл бесконечен. Но не понимаю, почему так случилось, ведь в конце цикла я перелистываю циклообразующую переменную $kat1Num.
В массиве $katStatusArray 95 переменных, так что дело не может быть в этом.
 
 Top
kotyara1979
Отправлено: 29 Октября, 2014 - 00:58:57
Post Id


Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012  


Помог: 7 раз(а)




1. Эта ошибка не говорит об "вечном" цикле, просто закончилось время работы скрипта.
2. А что выдает print_r($katStatusArray)?


-----
Сделать можно все. Главное одеть каску.
 
 Top
Aricus
Отправлено: 29 Октября, 2014 - 02:10:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




1. И почему оно закончилось? На его выполнение не должно уходить много времени.
2. Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 1 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => 0 [11] => 1 [12] => 0 [13] => 0 [14] => 0 [15] => 0 [16] => 0 [17] => 1 [18] => 0 [19] => 0 [20] => 0 [21] => 0 [22] => 0 [23] => 1 [24] => 0 [25] => 0 [26] => 0 [27] => 0 [28] => 0 [29] => 0 [30] => 0 [31] => 0 [32] => 0 [33] => 0 [34] => 0 [35] => 0 [36] => 0 [37] => 0 [38] => 0 [39] => 0 [40] => 0 [41] => 0 [42] => 0 [43] => 0 [44] => 1 [45] => 0 [46] => 0 [47] => 0 [48] => 0 [49] => 0 [50] => 0 [51] => 0 [52] => 0 [53] => 0 [54] => 0 [55] => 1 [56] => 0 [57] => 0 [58] => 0 [59] => 0 [60] => 0 [61] => 0 [62] => 0 [63] => 0 [64] => 0 [65] => 0 [66] => 0 [67] => 1 [68] => 0 [69] => 0 [70] => 0 [71] => 0 [72] => 0 [73] => 1 [74] => 0 [75] => 0 [76] => 0 [77] => 0 [78] => 0 [79] => 0 [80] => 0 [81] => 0 [82] => 0 [83] => 0 [84] => 0 [85] => 0 [86] => 0 [87] => 0 [88] => 0 [89] => 0 [90] => 1 [91] => 0 [92] => 0 [93] => 0 [94] => 0 )
если уж так интересно.
 
 Top
IllusionMH
Отправлено: 29 Октября, 2014 - 03:00:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Aricus, а чему равно $id?
 
 Top
Aricus
Отправлено: 29 Октября, 2014 - 03:53:54
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




$id в данном случае равно номерам $katStatusArray, чьи значения равны 1 (т.е. по очереди 1, 5, 23 и т.д.). Там цикл и условие перед рассматриваемым фрагментом. Но ошибка ссылается именно на этот цикл while, и без него всё работает хорошо.

(Отредактировано автором: 29 Октября, 2014 - 03:54:15)

 
 Top
Dastor
Отправлено: 29 Октября, 2014 - 07:49:42
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




Если while бесконечный, то значит, что $katStatusArray[$kat1Num] == 0 всегда true Улыбка
Не существующий элемент массива тоже вернет true.

И почему Вы здесь while используете? Какова логика? Что Вы хотите получить?
 
 Top
Sail
Отправлено: 29 Октября, 2014 - 08:05:47
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Aricus пишет:
$_POST["KatVop$kat1Num"] !== 1

Строгое сравнение строки с числом. Всегда будет истинно.
А по поводу зацикливания - можно выводить отладочную информацию до цикла, в цикле, после цикла... значения всех переменных. Добавит ясности.

(Отредактировано автором: 29 Октября, 2014 - 08:06:23)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB