Всем привет. Ловлю utm метку к примеру такую ?utm_term=Игрушки в городе Пушкино
Дальше у меня есть такой массив
Array
(
[0] => Array
(
[Message_ID] => 1
[Title] => Пушкино
[Morphy] => Пушкино // игрушки в Пушкино
[Term] => пушкино // слова которые могу встретиться в utm_term
)
[1] => Array
(
[Message_ID] => 2
[Title] => Броницы
[Morphy] => Броницах // игрушки в Броницах
[Term] => броницы,броницах // слова которые могу встретиться в utm_term
)
[2] => Array
(
[Message_ID] => 3
[Title] => Воскресенск
[Morphy] => Воскресенске // игрушки в Воскресенске
[Term] => воскресенск,воскресенске // слова которые могу встретиться в utm_term
)
)
Суть utm_term сравнить с тем, что в [Term] и если есть совпадения вывести [Morphy].
$UtmTerm = htmlspecialchars($_GET["utm_term"]); - ловим utm_term
$UtmTerm = mb_strtolower($UtmTerm); - привидом все нижний регистр
$UtmTermArray = explode(" ", $UtmTerm); - разбираем на массив
получаю Array ( [0] => игрушки [1] => в [2] => городе [2] => пушкино )
foreach($var as $k => $v) {
$res = array_intersect(explode(",", $v[Term]), $UtmTermArray); // сравниваем получившиеся массивы
if (!empty($res)) {
print_r($res);
}
}
Получаю Array ( [1] => пушкино ) - это то, что в array [Term]
Но как мне вывести не то, что в [Term], а то что [Morphy], т.к. в Morphy - склоненный город.
И вообще может у меня не правильный подход к задаче, посоветуйте может как, что переделать стоит?