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]   

> Без описания
Scorp24
Отправлено: 16 Января, 2012 - 11:00:59
Post Id


Новичок


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.         $file_array = file($this->txt_dir); // считываем файл в массив
  2.         $num_val_label = array_search($str_label, $file_array); // определяем ключ искомой метки в масииве
  3.         // перебираем массив и удаляем все занчения по условию
  4.         foreach($file_array as $key) {
  5.                 while ($key <= $num_val_label) {
  6.                         unset($file_array[$key]);
  7.                 }                                                   //line 89
  8.         }      
  9.         print_r($file_array);


Собственно ошибка:


Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\localhost\www\task1\classes\ReadFile.php on line 89


Пожалуйста, помогите разобраться в чем дело!
 
 Top
sKaa
Отправлено: 16 Января, 2012 - 11:04:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Максимальное время выполнения скрипта пхп 30 секунд превышено.

Ищите эту директиву в настройках php.ini
 
 Top
Scorp24
Отправлено: 16 Января, 2012 - 11:07:30
Post Id


Новичок


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


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




sKaa пишет:
Максимальное время выполнения скрипта пхп 30 секунд превышено.

Ищите эту директиву в настройках php.ini


В данном случае загвоздка не в превышении лимита, а в принципе , в появлении этого ожидания (файлик маленький, операция простая)...

еще есть какие то варианты?
 
 Top
Мелкий Супермодератор
Отправлено: 16 Января, 2012 - 11:11:40
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




sKaa, так от бесконечного цикла никакое значение не поможет. PHP не умеет исполнять бесконечные циклы за конечное время Подмигивание

Scorp24 пишет:
foreach($file_array as $key) {

В $key будет значение, а не ключ, всё-таки.
А что должен делать следующий цикл - я вообще понять не могу.


-----
PostgreSQL DBA
 
 Top
Scorp24
Отправлено: 16 Января, 2012 - 11:21:58
Post Id


Новичок


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


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




Все разобрался, правильный код такой (задача занести в массив все значения из файла после указанной метки):

CODE (htmlphp):
скопировать код в буфер обмена
  1. $file_array = file($this->txt_dir); // считываем файл в массив
  2.         $num_val_label = array_search($str_label, $file_array); // определяем ключ искомой метки в масииве
  3.         // перебираем массив и удаляем все занчения по условию
  4.         foreach($file_array as $key => $value) {
  5.                 if ($key <= $num_val_label) {
  6.                         unset($file_array[$key]);
  7.                 }
  8.         }      
  9.         print_r(array_values($file_array)); // делаем периндексацию и выводим массив
 
 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