[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение строк в цикле while
sx000
while (!feof($fp_results)){
$str_results = fgets($fp_results);
$str_results = explode(";",$str_results);
$str_results = strtolower(trim($str_results[4]));
$s_g = strtolower(trim($s_g));
echo "Сравниванием: ".$str_results." VS ".$s_g."\n";
if ($str_results == $s_g){
$error = 1;
}
}

fclose($fp_results);

почему пишет ошибку?
убираю вот этот кусок


if ($str_results == $s_g){
$error = 1;
}

работает все ок, как только убираю вот эту строку ... что в ней такого?



Спустя 9 минут, 8 секунд (9.12.2011 - 22:10) Placido написал(а):
А что за ошибка? И что выводит "echo "Сравниванием: ".$str_results." VS ".$s_g."\n";"?

Спустя 34 минуты, 1 секунда (9.12.2011 - 22:44) Winston написал(а):
Какую-то ты ахинею написал.
Цитата (sx000 @ 9.12.2011 - 21:01)
$str_results = fgets($fp_results);
$str_results = explode(";",$str_results);
$str_results = strtolower(trim($str_results[4]));

Получаешь строку, делаешь из $str_results массив, а потом опять из $str_results делаешь строку blink.gif
Ничего странного не находишь ?

Спустя 15 часов, 12 минут, 1 секунда (10.12.2011 - 13:56) sx000 написал(а):
это не ахинее там каждая строка разбита у меня ; и мне надо сравнивать не с всей строкой а с нужно частью по этому в массив и превращаю
а ошибку пишет вот такую:
Warning: fgets(): supplied argument is not a valid stream resource

Спустя 1 минута, 8 секунд (10.12.2011 - 13:57) sx000 написал(а):
Цитата (Placido @ 9.12.2011 - 19:10)
А что за ошибка? И что выводит "echo "Сравниванием: ".$str_results." VS ".$s_g."\n";"?

выводит нормально то что задумано а как доходит до if все обрывается и пишет ошибку

Спустя 15 минут, 27 секунд (10.12.2011 - 14:13) Winston написал(а):
$fp_results - это ссылка на ресурс fopen ?

Спустя 44 секунды (10.12.2011 - 14:14) sx000 написал(а):
$fp_results = fopen ("./result.txt", "r");

Спустя 3 минуты, 20 секунд (10.12.2011 - 14:17) sx000 написал(а):
там построчно идут данные:
dtat;dtat;dtat;dtat;dtat

я беру последний тримаю его чтоб убрать перевод коретки и сравнивать пытаюсь
Вроде как бы все верно а оно ошибки пишет именно на if

Спустя 53 секунды (10.12.2011 - 14:18) TranceIT написал(а):
А перевод каретки это разве не \r\n???

Спустя 1 минута, 12 секунд (10.12.2011 - 14:19) sx000 написал(а):
а причем тут первод коретки? trim его удаляет из строки. Ну даже если бы не удалил то под условия просто IF не попадет и все. Ошибок быть то недолжно

Спустя 8 минут, 33 секунды (10.12.2011 - 14:28) sx000 написал(а):
$fp_results = fopen ("./result.txt", "r");
while (!feof($fp_results)){
$str_results = fgets($fp_results);
echo $str_results;
$str_results = explode(";",$str_results);
$str_results = strtolower(trim($str_results[4]));
$s_g = strtolower(trim($s_g));
echo "Сравниванием: ".$str_results." VS ".$s_g."\n";
if ($s_g === $str_results){
$error = 1;
}
}

fclose($fp_results);


Я фиг знает как в таком коде можно запнуться но я запнулся и не могу понять почему
Warning: fgets(): supplied argument is not a valid stream resource in
бред какой то...
я тупо сравниваю $s_g со всеми нужными частями каждой строки файла result.txt

 ! 

М
Выделяй код тегами !!! [php][/php]
Winston

Спустя 6 минут, 7 секунд (10.12.2011 - 14:34) Winston написал(а):
Покажи какие данные хранятся в result.txt

Спустя 17 минут, 38 секунд (10.12.2011 - 14:51) sx000 написал(а):
ddd;ddd;ddd;ddd;ddd4
ddd;ddd;ddd;ddd;ddd55
ddd;ddd;ddd;ddd;ddd22

Спустя 8 минут, 49 секунд (10.12.2011 - 15:00) Winston написал(а):
Откуда $s_g берется ?
Цитата (sx000 @ 10.12.2011 - 13:28)
$s_g = strtolower(trim($s_g));


Спустя 7 минут, 39 секунд (10.12.2011 - 15:08) sx000 написал(а):
все вопрос решил, невнимательный я балбес smile.gif
fclose($fp_results); я поставил а сам еще раз пытался обратиться следующее сравнение сделать
Большое спасибо Winston ... блин вот так мелкий косяк и ходишь бродишь.

Спустя 6 минут, 23 секунды (10.12.2011 - 15:14) Winston написал(а):
Цитата (sx000 @ 10.12.2011 - 13:28)
if ($s_g === $str_results){

Зачем тебе здесь эквивалентность ?

Спустя 15 минут, 21 секунда (10.12.2011 - 15:30) sx000 написал(а):
это сравнение слов, если слово найдено в списке значит == значит ставим флаг ошибки 1

Спустя 8 минут, 24 секунды (10.12.2011 - 15:38) Winston написал(а):
Так зачем ты не поставил ==, а поставил === ?

Спустя 38 минут, 17 секунд (10.12.2011 - 16:16) sx000 написал(а):
== у меня стоит, это я уже пробовал варианты и забыл перед выкладкой на форуме подправить
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.