Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подскажите, как это в php сделать

7.3K
23 января 2013 года
shureg
67 / / 29.05.2010
Незнаю как это выразить программистским яызком, вообщем опишу что мне нужно!

есть переменная, а котором есть текст, например: $var = "Hello world";
и есть массив, например: $arr = array("test" => "Чтото тестируется", "Hello" => "И тебе привет", "bla-bla-bla", "Бла бла бла");

так вот через какую функцию я могу найти в $var совпадение с эллементом массива и выдать значение... допустим: $result = bla_bla($var, $arr);
в итоге $result = "И тебе привет";
1
23 января 2013 года
kot_
7.3K / / 20.01.2000
 
Код:
$var = "Hello world";
$arr = array("test" => "Чтото тестируется", "Hello world" => "И тебе привет", "bla-bla-bla", "Бла бла бла");
 $result = $arr[$var];
не?
7.3K
23 января 2013 года
shureg
67 / / 29.05.2010
нет :)) нужно чтобы находил часть от текста... а не весь!
8
23 января 2013 года
mfender
3.5K / / 15.06.2005
Код:
/** Немного усложнил строку для примера */
$var = "Hello-world=bla\бл";

/**
Препарируем её, заменяя все кроме букв и цифр символом |
Получится Hello|world|bla|бл
*/

$prepared_var = preg_replace("/[^a-zа-я0-9]/i", "|", $var);
$arr = array("test" => "Чтото тестируется", "Hello" => "И тебе привет", "bla-bla-bla", "Бла бла бла");

/** В $result получим массив из $arr, где значения совпадают со словами в строке */
$result = preg_grep("/$prepared_var/i", $arr);


/** Если нужно искать слова в ключах массива, то делаем так: */
$result = array_flip(preg_grep("/$prepared_var/i", array_flip($arr)));
7.3K
24 января 2013 года
shureg
67 / / 29.05.2010
mfender нет нето :(

обьясню подробнее что мне нужно:

есть переменная, которая содержит допустим: $var = 'This page deleted';
и есть массив, который содержит такие слова: $arr = array ("test"=>"Фигня", "question"=>"фигня", "page"=>"Супер пупер текст", "die"=>"фигня");

далее нужно пропустить переменную $var через чтото, чтобы проверить есть ли в ней совпадения слов из $arr, если есть пишется то, что указано в массиве (в данном примере: Супер пупер текст) , если нет, возвращается false или 0...
20K
24 января 2013 года
ellor!
198 / / 24.05.2012
Оно?
 
Код:
foreach ($arr as $key => $value) {
  if (stripos($key, $var) !== false)
    echo $value;
}
8
24 января 2013 года
mfender
3.5K / / 15.06.2005
Цитата: shureg
mfender нет нето :(

обьясню подробнее что мне нужно:

есть переменная, которая содержит допустим: $var = 'This page deleted';
и есть массив, который содержит такие слова: $arr = array ("test"=>"Фигня", "question"=>"фигня", "page"=>"Супер пупер текст", "die"=>"фигня");

далее нужно пропустить переменную $var через чтото, чтобы проверить есть ли в ней совпадения слов из $arr, если есть пишется то, что указано в массиве (в данном примере: Супер пупер текст) , если нет, возвращается false или 0...



Ну так а я тебе что написал? Всё тоже самое. Ну а уж как использовать $result - 'тебе виднее.

Код:
$var = 'This page deleted';
$arr = array ("test"=>"Фигня", "question"=>"фигня", "page"=>"Супер пупер текст", "die"=>"фигня");
$prepared_var = preg_replace("/[^a-zа-я0-9]/i", "|", $var);
$result = array_flip(preg_grep("/$prepared_var/i", array_flip($arr)));

$result теперь
Array
(
    [page] => Супер пупер текст
)

/* Изменим условие: */
$var = 'This page test';

$result -

Array
(
    [test] => Фигня
    [page] => Супер пупер текст
)
7.3K
24 января 2013 года
shureg
67 / / 29.05.2010
mfender то что ты дал, не работает как мне нужно! на выходе вообще у меня всегда массив и не с теми данными, что нужно!
7.3K
24 января 2013 года
shureg
67 / / 29.05.2010
ellor! тоже неработает :(
7.3K
24 января 2013 года
shureg
67 / / 29.05.2010
ellor рабоатет, только нужно было: stripos($key, $var) поменять местами: stripos($var,$key)
8
24 января 2013 года
mfender
3.5K / / 15.06.2005
Цитата: shureg
mfender то что ты дал, не работает как мне нужно! на выходе вообще у меня всегда массив и не с теми данными, что нужно!



Тебе нужно ещё объяснить как из массива получить нужное?
Думал ты совет спрашиваешь, а не полностью готовое решение...

7.3K
25 января 2013 года
shureg
67 / / 29.05.2010
Цитата: mfender
Цитата: shureg
mfender то что ты дал, не работает как мне нужно! на выходе вообще у меня всегда массив и не с теми данными, что нужно!



Тебе нужно ещё объяснить как из массива получить нужное?
Думал ты совет спрашиваешь, а не полностью готовое решение...


нет, не в этом дело. Твой вариант работал только в тестовом режиме, когда я подставлял твои данные когда вставил свои - неработало!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог