Такая проблемка:
Сканируем папку data получаем список .txt файлов, убираем .txt остаётся массив нужных нам имён.
Далее имея:
$data[]="имя 1 имя...";
$data[]="23 имя имя 2... ";
нужно найти $s="имя";
и вывести результат:
...рез.1...
...рез2....
...
можно ли это сделать регулярным выражением или какойто другой функцией?
1. login - 06 Ноября, 2009 - 16:04:24 - перейти к сообщению
2. Djin_dj - 06 Ноября, 2009 - 16:18:06 - перейти к сообщению
login пишет:
Такая проблемка:
можно ли это сделать регулярным выражением или какойто другой функцией?
можно ли это сделать регулярным выражением или какойто другой функцией?
in_array()
3. login - 06 Ноября, 2009 - 17:13:07 - перейти к сообщению
Djin_dj пишет:
in_array()
login пишет:
Такая проблемка:
можно ли это сделать регулярным выражением или какойто другой функцией?
можно ли это сделать регулярным выражением или какойто другой функцией?
in_array()
на сколько я понял, in_array() мне не подайдёт по тому что у меня будет массив например с "фамилия имя отчество" а мне нужно найти только фамилию.
4. kuller - 06 Ноября, 2009 - 18:19:15 - перейти к сообщению
login пишет:
на сколько я понял, in_array() мне не подайдёт по тому что у меня будет массив например с "фамилия имя отчество" а мне нужно найти только фамилию.
Djin_dj пишет:
in_array()
login пишет:
Такая проблемка:
можно ли это сделать регулярным выражением или какойто другой функцией?
можно ли это сделать регулярным выражением или какойто другой функцией?
in_array()
на сколько я понял, in_array() мне не подайдёт по тому что у меня будет массив например с "фамилия имя отчество" а мне нужно найти только фамилию.
сегодня через гугл искал статьи по регулярке, автор там как раз пример показывал какой тебе надо. у самого с регулярными выражениями проблема. попробуй через гугл найти
5. Ch_chov - 06 Ноября, 2009 - 18:43:14 - перейти к сообщению
6. movEAX - 06 Ноября, 2009 - 21:48:41 - перейти к сообщению
preg_grep() ?
7. login - 07 Ноября, 2009 - 12:14:10 - перейти к сообщению
Поискал в гугле нащёл очень хорошею статью, там есть такой пример, надо перебрать фамилии и даётся сразу шаблон для поиска
preg_match("/([^\s]+)\s+([^\s.])[^\s.]*(?:\s|\.)([^\s.])[^\s.]*/",$income_str,$out_arr);
print_r($out_arr);
кому интересно читайте http://phpclub[dot]ru/detail/article/regexp_1
preg_match("/([^\s]+)\s+([^\s.])[^\s.]*(?:\s|\.)([^\s.])[^\s.]*/",$income_str,$out_arr);
print_r($out_arr);
кому интересно читайте http://phpclub[dot]ru/detail/article/regexp_1
8. Champion - 07 Ноября, 2009 - 19:38:23 - перейти к сообщению
login, из того, что ты описал я ничего не понял. Пояснее можешь?
9. login - 07 Ноября, 2009 - 21:04:43 - перейти к сообщению
Champion пишет:
login, из того, что ты описал я ничего не понял. Пояснее можешь?
есть массив:
$a[]="абвгд ийклм нопр";
$a[]="мнстпр епрст мксп";
...
что мне использовать чтобы найти $b="епрст"; в этом массиве.
Нужно перебрать массив и вернуть строки в которых есть совпадения с $b
яснее по-моему некуда
10. Champion - 07 Ноября, 2009 - 21:18:54 - перейти к сообщению
foreach ($a as $key => $value)
if (strpos($value, $b) !== false) $keys[]=$key;
for ($i=0; isset($keys[$i]); $i++) echo $a[ $keys[$i] ]
if (strpos($value, $b) !== false) $keys[]=$key;
for ($i=0; isset($keys[$i]); $i++) echo $a[ $keys[$i] ]
11. login - 07 Ноября, 2009 - 21:27:50 - перейти к сообщению
Champion пишет:
foreach ($a as $key => $value)
if (strpos($value, $b) !== false) $keys[]=$key;
for ($i=0; isset($keys[$i]); $i++) echo $a[ $keys[$i] ]
if (strpos($value, $b) !== false) $keys[]=$key;
for ($i=0; isset($keys[$i]); $i++) echo $a[ $keys[$i] ]
это то что мне нужно, только не совсем понятно isset($keys[$i])
12. JROUD - 07 Ноября, 2009 - 21:31:18 - перейти к сообщению
login пишет:
это то что мне нужно, только не совсем понятно isset($keys[$i])
Цикл работает если ключ существует.
13. login - 07 Ноября, 2009 - 21:40:15 - перейти к сообщению
Всем огромное спасибо, работает так как надо.Не понимаю почему мне в голову сразу полезли регулярные выражения, оказалось всё намного проще)