Lirck Новичок 19 Май 2007 #1 Поиск номера строки в файле файл test.txt: 1|2|3 11|22|33 111|222|333 нужно узнать номер строки зная число перед первым знаком "|". например function search("11") - возвратит "1"(номер строки начинается с 0) ХЭЛП! на phpforum.ru не помогли, надежды нет)))))
Поиск номера строки в файле файл test.txt: 1|2|3 11|22|33 111|222|333 нужно узнать номер строки зная число перед первым знаком "|". например function search("11") - возвратит "1"(номер строки начинается с 0) ХЭЛП! на phpforum.ru не помогли, надежды нет)))))
Фанат oncle terrible Команда форума 19 Май 2007 #2 и ты сразу в вопросы по теории программирования отправился? типа, вопрос не для лохов, тут думать надо?
и ты сразу в вопросы по теории программирования отправился? типа, вопрос не для лохов, тут думать надо?
Lirck Новичок 19 Май 2007 #4 Поиск номера строки в файле файл test.txt: 1|2|3 11|22|33 111|222|333 нужно узнать номер строки зная число перед первым знаком "|". например function search("11") - возвратит "1"(номер строки начинается с 0) ХЭЛП! на phpforum.ru не помогли, надежды нет)))))
Поиск номера строки в файле файл test.txt: 1|2|3 11|22|33 111|222|333 нужно узнать номер строки зная число перед первым знаком "|". например function search("11") - возвратит "1"(номер строки начинается с 0) ХЭЛП! на phpforum.ru не помогли, надежды нет)))))
Фанат oncle terrible Команда форума 19 Май 2007 #5 ппц. и обязательно надо теперь весь форум зафлудить. ну и что? У тебя своих идей нету, как сделать? скажи, если перед тобой положить коробку карандашей, ты сможешь ответить, какой по счету из них зелёный?
ппц. и обязательно надо теперь весь форум зафлудить. ну и что? У тебя своих идей нету, как сделать? скажи, если перед тобой положить коробку карандашей, ты сможешь ответить, какой по счету из них зелёный?
Lirck Новичок 19 Май 2007 #6 есть одна идея, но она не пашет, точнее пашет неправильно function strfind($search, $filename) { $file=file($filename); foreach ($file as $number => $string) { if (strpos($string, $search) === 0) { $result = $number; } } return $result;
есть одна идея, но она не пашет, точнее пашет неправильно function strfind($search, $filename) { $file=file($filename); foreach ($file as $number => $string) { if (strpos($string, $search) === 0) { $result = $number; } } return $result;
Mr_Max Первый класс. Зимние каникулы ^_^ Команда форума 19 Май 2007 #8 Вы уверенны, что нужно хранить номер строки в каждой строке Вашего текстового файле?... Какого вида будет 10-я строка? Уж случайно не 1111111111|2|3 Неекономно. [m]filesystem[/m] Если вам действительно нужно хранить номер строки в самой строке файла [m]explode[/m] [m]count[/m] или [m]strlen[/m]
Вы уверенны, что нужно хранить номер строки в каждой строке Вашего текстового файле?... Какого вида будет 10-я строка? Уж случайно не 1111111111|2|3 Неекономно. [m]filesystem[/m] Если вам действительно нужно хранить номер строки в самой строке файла [m]explode[/m] [m]count[/m] или [m]strlen[/m]
Lirck Новичок 19 Май 2007 #10 Mr_Max нет, это для примера если десятоя строка будет начинаться с 122323 то: function search("122323 ") возвратит номер строки (в данном случае - 10)
Mr_Max нет, это для примера если десятоя строка будет начинаться с 122323 то: function search("122323 ") возвратит номер строки (в данном случае - 10)
Фанат oncle terrible Команда форума 19 Май 2007 #11 Lirck ну и как ты эту свою гениальную функцию вызываешь?
Фанат oncle terrible Команда форума 19 Май 2007 #13 то есть, в файле, содержащем 1|2|3 11|22|33 111|222|333 ты ищешь строку "122323 " ? оригинааааально.
Mr_Max Первый класс. Зимние каникулы ^_^ Команда форума 19 Май 2007 #14 Lirck Добавьте внутри Вашей поисковой функции функции обработку функцией [m]trim[/m] вашего входного значения. "122323 " и "122323" не одно и тоже.
Lirck Добавьте внутри Вашей поисковой функции функции обработку функцией [m]trim[/m] вашего входного значения. "122323 " и "122323" не одно и тоже.
MegaSin Новичок 20 Май 2007 #15 PHP: function str_n($filename,$search) { $file = file($filename); $n = 1; foreach ($file as $line) { $string = explode("|",$line); if ($search == $string[0]) { return $n; } $n++; } } echo str_n("123.txt","111"); работает и ладно...
PHP: function str_n($filename,$search) { $file = file($filename); $n = 1; foreach ($file as $line) { $string = explode("|",$line); if ($search == $string[0]) { return $n; } $n++; } } echo str_n("123.txt","111"); работает и ладно...
romy4 invoke [brain] 20 Май 2007 #17 допустим, есть файл, наподобии вашему 1|d954 2|9593 5|969045 99|50054 PHP: $file="test1.txt"; $findto="969045"; $result=`cat $file | grep -E ".*?\|$findto" | cut -f 1 -d "|"`; echo $result; на выходе реультат = 5 -~{}~ 20.05.07 12:53: это хорошо лишь для больших файлов, так как открытие потока и запуск бинарников занимает тоже время
допустим, есть файл, наподобии вашему 1|d954 2|9593 5|969045 99|50054 PHP: $file="test1.txt"; $findto="969045"; $result=`cat $file | grep -E ".*?\|$findto" | cut -f 1 -d "|"`; echo $result; на выходе реультат = 5 -~{}~ 20.05.07 12:53: это хорошо лишь для больших файлов, так как открытие потока и запуск бинарников занимает тоже время