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]   

> Без описания
NoPro
Отправлено: 14 Ноября, 2015 - 17:25:54
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




PHP:
скопировать код в буфер обмена
  1. $napry=$_POST['txt'];
  2. $dat= file('data.txt');
  3. $key = array_search($napry, $dat);
  4. $i=$key;
  5. echo $dat[$i];
  6. while($dat[$i]!="")
  7. {echo $dat[$i],'<br>'   ;
  8. $i++;}


По идее, он получает строчку (например "1") а потом сверяет её с файлом Data.txt, вида
"1
ф
ы
в

2
а
п
р

3
д
а
д" и т.д. и выводит поочердно элемент, до момента, пока не наткнется на пустую строчку.
Вот только вместо этого он выводит весь файл целиком. Я чайник в этом деле, поможете?

(Отредактировано автором: 14 Ноября, 2015 - 17:31:42)

 
 Top
SAD
Отправлено: 14 Ноября, 2015 - 18:37:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




на самом деле, то, что Вы называете пустой строкой, не совсем является пустой строкой. там есть символы перевода строки и возврата каретки. \n и \r

PHP:
скопировать код в буфер обмена
  1. while (trim($dat[$i])) {
  2.     echo $dat[$i], '<br>';
  3.     $i++;
  4. }
 
 Top
NoPro
Отправлено: 14 Ноября, 2015 - 19:02:06
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




SAD пишет:
на самом деле, то, что Вы называете пустой строкой, не совсем является пустой строкой. там есть символы перевода строки и возврата каретки. \n и \r

PHP:
скопировать код в буфер обмена
  1. while (trim($dat[$i])) {
  2.     echo $dat[$i], '<br>';
  3.     $i++;
  4. }


Спасибо вам огромное!
 
 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