Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: найти нужный параметр из файла

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: задачка со строками
umpc
Отправлено: 09 Июля, 2010 - 01:42:54
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




есть файл содержащий такой текст:

idf=410|1=8|2=326|3=30|4=23|5=Y|6=n|7=s64-f23-12-31|8=вааащее... |
idf=416|1=8|2=327|3=33|4=24|5=N|6=n|7=s64-f23-12-66|8=всем привет!|

есть необходимость, чтобы по запросу 410 и 5 выдавался результат "Y"
или к примеру 416 8 выдавал результат "всем привет!"

$file = file("data/file.txt"); //допустим загрузил я файл
$result = false;
foreach ( $file as $number => $string ) //запустил цикл
{
if ( strpos($string, 'idf=410') === 0 ) //нашел строку, а дальше как быть?
$result = $number;
}
 
 Top
RomAndry Администратор
Отправлено: 09 Июля, 2010 - 02:03:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




используйте split котрый создаст массив, а уже в нем можно искать нормально
 
My status
 Top
JustUserR
Отправлено: 09 Июля, 2010 - 03:06:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




umpc Действительно лучше использовать предварительную обработку с помощью функции разбиения по символу explode или по шаблону регулярного выражения split - при этом все данные между разделителями должны быть заранее зашифрованными чтобы при обработке не возникало дополнительное разбиение по реальным внутренним данным


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
umpc
Отправлено: 09 Июля, 2010 - 04:00:39
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




тоесть, первым шагом, вид данных представляю в виде разделения слэшом?

idf=410/1=8/2=326/3=30/4=23/5=Y/ 6=n/7=s64-f23-12-31/8=вааащее... /
idf=416/1=8/2=327/3=33/4=24/5=N/ 6=n/7=s64-f23-12-66/8=всем привет!/

и стринг (эксплоуд) разобьет это в вид:

idf=416
1=8
2=327
3=33
4=24
5=N
6=n
7=s64-f23-12-66
8=всем привет!

..мм а если в тексте понадобится симвоз слэш? /
 
 Top
ALEN
Отправлено: 09 Июля, 2010 - 10:24:01
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




umpc
Не проще массив в файл записывать в виде строки, а потом обрабатывать массив?
 
 Top
Uchkuma
Отправлено: 09 Июля, 2010 - 11:05:07
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




umpc, ознакомьтесь с функциями serialize()/unserialize(), возможно жизнь станет проще =)
 
 Top
umpc
Отправлено: 10 Июля, 2010 - 01:15:22
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




заработало
Спасибо!
 
 Top
JustUserR
Отправлено: 10 Июля, 2010 - 03:42:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




umpc Можете вообще упростить задачу по обработке вашего массива и использовать встроенную в PHP сериализацию обеспечиваемую функцией serialize - в таком случае вы сможете и записывать представление массива в файл в потом после проведения десериализации функцией unserialize работать как с обычным массивом - без применения каких-либо строковых функций


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB