Forum Webscript.Ru

Программирование => PHP => Тема начата: xax от 09 Марта 2004, 22:48:53

Название: В чём ошибка?
Отправлено: xax от 09 Марта 2004, 22:48:53
    $file="news/news.txt";//Задаем имя файла
  $stroka=file($file);
$external_value ="a";
foreach ($file as $stroka) {
  $stroka_arr=explode(";", $stroka)
  foreach ($stroka_arr as $element) {
    if ($element==$external_value);
    echo($element." найден в строке из ".$stroka);
    endif;

  }
}
?>
На 7 строчке ошибка
В  чём дело?
Название: В чём ошибка?
Отправлено: Меняздесьдавнонет от 09 Марта 2004, 23:29:57
учись находить ошибки сам.
http://faq.phpclub.ru/debug

А если уж совсем ума не хватает, то хотя бы научись приводить ПОЛНЫЙ ТЕКСТ ОШИБКИ!

там, кстати, еще в восьмой ошибка.
хы.
господи.
вот чудило из чудил :-)

и главное, да - ему же этот фак не поможет.
Если выводить на экран переменные, то $file выдаст ему "news/news.txt"
Это сразу покажет, что не так, человеку, который понимает, что означают строчки, которые он написал!
Но только не этой обезьяне.
Название: В чём ошибка?
Отправлено: mikelsv от 09 Марта 2004, 23:34:05
Сделай так:
$file="news/news.txt";//Çàäàåì èìÿ ôàéëà
$stroka=file($file);
$external_value ="a";
foreach ($file as $stroka) {
$stroka_arr=explode(";", $stroka);
foreach ($stroka_arr as $element) {
if ($element==$external_value) {
echo($element." íàéäåí â ñòðîêå èç ".$stroka);
}

}
}

Ошибка на 7 строке, потому что в конце 6 строки не стоит \';\'
У меня выскакивает ошибка на 10 строке из-за endif;
If .. endif я поменял на if () { и }.
Название: В чём ошибка?
Отправлено: Меняздесьдавнонет от 09 Марта 2004, 23:52:34
и этот тоже в упор не видит переменные, с которыми работает :)
цирк продолжается!
прошу зрителей занимать свои места :-))))
Название: В чём ошибка?
Отправлено: xax от 14 Марта 2004, 22:03:37
Теперь выдаёт Parse error: parse error in /home/z/zqzq.h11.ru/WWW/Hi1/poisk5.php on line 10
$external_value ="a";
    $file="news/news.txt";//Задаем имя файла
  $stroka=file($file);
foreach ($file as $stroka) {
  $stroka_arr=explode(";", $stroka);
  foreach ($stroka_arr as $element) {
    if ($element==$external_value){
    echo($element." найден в строке из ".$stroka);
endif;
}
  }
}
?>
Название: В чём ошибка?
Отправлено: Mog. от 15 Марта 2004, 09:16:27
to xax Круто ты загнул :)

$external_value ="a";
$file="news/news.txt";//Задаем имя файла, т.е. в переменную $file записали имя файла
$stroka=file($file);//в переменную $stroka записали(прочитали из файла $file) содержимое файла имя см.стр. выше, причем построчно
foreach ($file as $stroka) { //и ЧЁ теперь! Ты переменную $file в которой содержится только имя файла перебираешь как массив, поэлементно, при этом угораздило тебя выбрать переменную  в цикле - $stroka, т.е. ту в которой лежит содержимое файла.
$stroka_arr=explode(";", $stroka); //пытаешся, теперь, строку "news/news.txt" разделить, граница раздела символ ";"
foreach ($stroka_arr as $element) {
if ($element==$external_value){
echo($element." найден в строке из ".$stroka);
endif; //убери, это уже не нужно
}
}
}
?>

Даже если этот кусок кода и не будет выкидывать ошибку, ничего путного ты от него не добьешся.
Купи-таки книжку по РХР и почитай.

2RomikChef. И что ты так близко к сердцу все воспринимаешь? Нервы беречь надо. Ибо... читай подпись :)
Название: В чём ошибка?
Отправлено: PhanT0m от 15 Марта 2004, 17:23:35
Итого, как должно быть. Рабочий вариант:

$file = "news/news.txt";
$stroka = file($file);
$external_value = "a";
foreach ($stroka as $str) {
$stroka_arr=explode(";", $str);
foreach ($stroka_arr as $element) {
if ($element == $external_value):
echo($element." найден в строке из ".$str);
endif;
}
}
?>

Я не понял что тебе надо вывести: массив элементов, нарезанных из строчки или строчку в которой найден элемент.
Если первое - замени
echo($element." найден в строке из ".$str); на:
echo($element." найден в строке из ");
print_r($stroka_arr);
Название: В чём ошибка?
Отправлено: xax от 23 Марта 2004, 18:30:27
PhanT0m А как сделать, чтобы ещё выодился номер той строки/строк где нашли искомое слово!
Название: В чём ошибка?
Отправлено: ThE0ReTiC от 23 Марта 2004, 18:39:51
xax
посчитать количество обработанных строк
Название: В чём ошибка?
Отправлено: xax от 23 Марта 2004, 19:21:09
ThE0ReTiC
Нет, я имею иду номер строки  файле который считывается  массив
Название: В чём ошибка?
Отправлено: ThE0ReTiC от 23 Марта 2004, 19:23:55
xax
я тебе только что ответил
Название: В чём ошибка?
Отправлено: xax от 23 Марта 2004, 20:57:34
ThE0ReTiC
А как это делается?
Название: В чём ошибка?
Отправлено: AliMamed от 23 Марта 2004, 21:12:17
Цитировать
xax:
А как это делается?

операцией сложения
Название: В чём ошибка?
Отправлено: PhanT0m от 24 Марта 2004, 07:29:46
xax
$file = "news/news.txt";
$stroka = file($file);
$external_value = "a";
$i=0;
foreach ($stroka as $str) {
    $stroka_arr=explode(";", $str);
    foreach ($stroka_arr as $element) {
        if ($element == $external_value):
            echo($element." найден в строке из ".$str);
            echo("Номер строки:".$i);
        endif;
    }
    $i++;
}
?>