Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вот пытаюсь решить задачу №5 (найти по хэшу слово из файла)
 
 автор: АКУЛА   (07.04.2006 в 20:14)   письмо автору
 
 

Записываю слова файла в массив, потом пытаюсь обойти каждое слово массива, закодировав его в md5 и сравнив с предоставленными кодами.
И что-то нифига.

Вот что может быть с этим кодом неладного?

<?php
$filename = "words.txt";
if(!file_exists($filename)){
echo "Не могу найти файл words.txt";
}
$array = file($filename);
$result = count($array);

for ($i = 0; $i < $result; $i++){
if (md5($array[$i]) == "fb28e9240e83a5264566de844cc45523") print "$array[$i] <br>";
if (md5($array[$i]) == "437233c74e25fe505293cd2e8ecc2696") print "$array[$i] <br>";
if (md5($array[$i]) == "06b2d4b91b5c9eaa8c20a1c270f95b3c") print "$array[$i] <br>";
if (md5($array[$i]) == "e206a54e97690cce50cc872dd70ee896") print "$array[$i] <br>";
if (md5($array[$i]) == "fbfa6902f089e5a0fa2424bd460ecfd0") print "$array[$i] <br>";
}
?>

   
 
 автор: Евгений Петров   (07.04.2006 в 21:50)   письмо автору
 
   для: АКУЛА   (07.04.2006 в 20:14)
 

Все строки типа
if (md5($array[$i]) == "fb28e9240e83a5264566de844cc45523") print "$array[$i] <br>";

поменяйте на
if (md5(trim($array[$i])) == "fb28e9240e83a5264566de844cc45523") print "$array[$i] <br>";

   
 
 автор: АКУЛА   (08.04.2006 в 18:24)   письмо автору
 
   для: Евгений Петров   (07.04.2006 в 21:50)
 

Спасибо за помощь.
Скажите, а для чего здесь нужна trim?

   
 
 автор: Евгений Петров   (08.04.2006 в 18:30)   письмо автору
 
   для: АКУЛА   (08.04.2006 в 18:24)
 

Функция file заносит каждую строку файла в массив, причем символы переноса строки и возврата каретки так же заносятся, т.е. строка выглядит не как:
blablabla

А примерно так (под Windows):
blablabla\r\n

Функция trim их как раз и убирает, точнее она убирает краевые пробельные символы.

   
 
 автор: АКУЛА   (08.04.2006 в 21:41)   письмо автору
 
   для: Евгений Петров   (08.04.2006 в 18:30)
 

Это Я знаю :)
Я смотрел файл который заношу в массив и не обнаружил в нём лишних пробелов и прочего.
Меня вот это как раз и смущает...

   
 
 автор: cheops   (09.04.2006 в 00:36)   письмо автору
 
   для: АКУЛА   (08.04.2006 в 21:41)
 

Пробельные символы, это не только пробелы и символы табуляции, но ещё и переводы строк и другие невидимые символы.

   
 
 автор: АКУЛА   (09.04.2006 в 11:18)   письмо автору
 
   для: cheops   (09.04.2006 в 00:36)
 

понятн.
Сэнкс

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования