#1 2010.12.25 17:50

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Вывод строки из файла

Есть файл например 123.txt

В нём содержится информация в виде

текст|:neutralтекст_2|:neutral

Вопрос как мне нати строку в этом файле если есть только её часть.

Например нужно по зпросу "текст_2" вывело всю строку "текст|:neutralтекст_2|:neutral"

Неактивен

#2 2010.12.25 19:04

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

Re: Вывод строки из файла

preg_match

Неактивен

#3 2010.12.27 00:06

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Вывод строки из файла

хм. непонял.

Обьясню ещё раз что именно мне надо

Есть файл например test.dat в нём содержится много строк вида

Код:

1
a:2:{s:6:"search";s:3:"123";s:5:"count";s:5:"13299";}

"search" - может быть что угодно (я имею ввиду слово, цифры и т.д.)
"count" - только число

Теперь головняк (для меня)

Надо найти строку по слову в "search" и зменить цыфры в "count" если они изменились скриптом больше делать не чего ненадо.

Неактивен

#4 2010.12.27 00:16

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: Вывод строки из файла

WapStyle написал:

Код:

1
a:2:{s:6:"search";s:3:"123";s:5:"count";s:5:"13299";}

На JSON похоже.

Неактивен

#5 2010.12.27 00:19

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Вывод строки из файла

в serialize(); из unserialize(); так думаю понятно?

Отредактировано WapStyle (2010.12.27 00:19)

Неактивен

#6 2010.12.27 00:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Вывод строки из файла

ну что-то типа

Код:

1
span style="color: #0000BB"><?php$old = fopen('file.txt');$new = fopen('file2.txt');while (($f = fread($old)) !== false) { $data = unserialize($f); // изменяем $data fwrite($new, serialize($data) . PHP_EOL);}fclose($old);fclose($new);

Неактивен

#7 2010.12.27 19:30

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

Ну цыклом можна

Код:

1
lt;?$f=file('test.dat');$c=count($f);$t='';for($i=0; $i<$c; ++$i){ if(substr_count($f[$i],':search:')) { $t=$i; $i=$c; }}

Добавлено спустя   7 минут  51 секунду:
Ну или так

Код:

1
lt;?$f=file('test.dat');$c=count($f);$t=array();for($i=0; $i<$c; ++$i){ $b=exolode(':',$f[$i]); if($b[1]=='search') { $t=$i; $i=$c; } unset($b);}if(count($t)){ print_r($t);}

Отредактировано TLENS (2010.12.27 19:33)

Неактивен

#8 2010.12.27 19:40

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

или регуляркой
/^(.*?:search.*?)#/

Неактивен

#9 2010.12.27 19:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Вывод строки из файла

TLENS, на*уй тут регулярка, если это сериализация?

Неактивен

#10 2010.12.27 20:05

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

Чего?
Добавлено спустя   3 минуты  26 секунд:

Gemorroj написал:

TLENS, на*уй тут регулярка, если это сериализация?

Я просто не дочитал его вопрос я подумал что ему надо только прчитать

Отредактировано TLENS (2010.12.27 20:06)

Неактивен

#11 2010.12.27 23:13

2010
Участник
Откуда: localhost
Зарегистрирован: 2010.02.20
Сообщений: 230
Карма: 1
Профиль

Re: Вывод строки из файла

В место count лучше пишите sizeof. Она работает быстрее чем count.

Неактивен

#12 2010.12.28 01:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

2010 написал:

В место count лучше пишите sizeof. Она работает быстрее чем count.

На сколько на 0,00000000000000000000000000001 сек.?

Неактивен

#13 2010.12.28 02:16

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

Не знаю кто тибе такую басню розказал но вот результат

Код:

1
lt;?$a=array();for($i=0; $i<=100000; ++$i){$a[]='';}$starttime = microtime(1);for($i=0; $i<=1000000; ++$i){$f=count($a);}echo 'count<br />'.round(microtime(1) - $starttime,4).' сек.<br />';$starttime = microtime(1);for($i=0; $i<=1000000; ++$i){$f=sizeof($a);}echo '<br />sizeof<br />'.round(microtime(1) - $starttime,4) . ' сек.<br />';

count
0.2909 сек.

sizeof
0.3038 сек.

Неактивен

#14 2010.12.28 02:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Вывод строки из файла

это плохой тест, слишком много возможно погрешностей. а вообще да, sizeof считался быстрее, по крайней мере на php4

Неактивен

#15 2010.12.28 03:38

2010
Участник
Откуда: localhost
Зарегистрирован: 2010.02.20
Сообщений: 230
Карма: 1
Профиль

Re: Вывод строки из файла

TLENS, да ну, басню?

Может мне ещё расскажешь что такой код:
$abc = "$a <br /> $b ";
- работает быстрей чем этот?:
$a00 = $a.'<br />'.$b;

Разнеца не большая, но правильная.
Тот кто знает, без сомнения скажет, это правильно.
То что ты там посчитал - это фигня. попробуй посчитать
for (a = 0; a < sizeof(переменная-массив); а++)
только ''а'' - сопеши как скалярную переменную ''$а'' и тести.

Неактивен

#16 2010.12.28 13:41

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

2010 написал:

TLENS, да ну, басню?

Может мне ещё расскажешь что такой код:
$abc = "$a <br /> $b ";
- работает быстрей чем этот?:
$a00 = $a.'<br />'.$b;

Разнеца не большая, но правильная.
Тот кто знает, без сомнения скажет, это правильно.
То что ты там посчитал - это фигня. попробуй посчитать
for (a = 0; a < sizeof(переменная-массив); а++)
только ''а'' - сопеши как скалярную переменную ''$а'' и тести.

Слушай речь идет за sizeof и count Вопрос причем здесь цыклы и строки?
Добавлено спустя   9 минут  57 секунд:

Gemorroj написал:

это плохой тест, слишком много возможно погрешностей. а вообще да, sizeof считался быстрее, по крайней мере на php4

Ты прав. Оно через раз показывает то того больше то того меньше.
Подскажи пример как зделать точный тест кода

Кстати когдато тестировал $a=1; и $a='1'; то '1' был быстрее

Неактивен

#17 2010.12.28 13:53

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

Но всеравно пишу $a=1; Так удобней

Неактивен

#18 2010.12.28 16:51

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вывод строки из файла

2010

Кстати нащет етого я знаю, но спасибо что на помнил.

Отредактировано TLENS (2010.12.28 16:55)

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.014 s