Answer the question
In order to leave comments, you need to log in
How to catch GET and compare with value in array?
Hello. I catch a utm tag like this ?utm_term=Toys in the city of Pushkino
Then I have such an array
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
)
)
$UtmTerm = htmlspecialchars($_GET["utm_term"]); - ловим utm_term
$UtmTerm = mb_strtolower($UtmTerm); - привидом все нижний регистр
$UtmTermArray = explode(" ", $UtmTerm); - разбираем на массив
foreach($var as $k => $v) {
$res = array_intersect(explode(",", $v[Term]), $UtmTermArray); // сравниваем получившиеся массивы
if (!empty($res)) {
print_r($res);
}
}
Answer the question
In order to leave comments, you need to log in
$ar = [
[
'Message_ID' => 1,
'Title' => 'Пушкино',
'Morphy' => 'Пушкино', // игрушки в Пушкино
'Term' => 'пушкино', // слова которые могу встретиться в utm_term
],[
'Message_ID' => 2,
'Title' => 'Броницы',
'Morphy' => 'Броницах', // игрушки в Броницах
'Term' => 'броницы,броницах', // слова которые могу встретиться в utm_term
],[
'Message_ID' => 3,
'Title' => 'Воскресенск',
'Morphy' => 'Воскресенске', // игрушки в Воскресенске
'Term' => 'воскресенск,воскресенске', // слова которые могу встретиться в utm_term
]
];
$UtmTerm = 'Игрушки в городе Пушкино';
$UtmTerm = mb_strtolower($UtmTerm);
$UtmTermArray = explode(" ", $UtmTerm);
$keys = [];
foreach($ar as $k => $v) {
$res = array_intersect(explode(",", $v['Term']), $UtmTermArray);
if (!empty($res)) {
$keys[] = $k;
}
}
var_dump($keys); // ключи массивов в которых найдены совпадения в Term
// ...
$results = [];
foreach($ar as $k => $v) {
$res = array_intersect(explode(",", $v['Term']), $UtmTermArray);
if (!empty($res)) {
$results[] = $v['Morphy'];
}
}
var_dump($results);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question