У меня есть функция, которая будет перебирать массив в PHP и все, чтобы найти значение.PHP Поиск массива для частичного или точного соответствия
function checkarrayvalues($term, $arr, $strict = false) {
foreach ($arr as $item) {
if (($strict ? $item === $term : $item == $term) || (is_array($item) && checkarrayvalues($term, $item, $strict))) {
return true;
}
}
Поэтому у меня есть работа для полных/точных совпадений. Но мне также нужно проверить частичные совпадения, в которых я теперь потерян. Например, если кто-то ищет «Далл» и «Даллас», существует внутри массива, он также должен вернуть положительный результат.
Что мне не хватает в том, как это сделать?
массив выглядит следующим образом:
[Beau Rivage Resort & Casino] => Array
(
[name] => Beau Rivage Resort & Casino
[nid] => 100
[alias] => /BeauRivage
[guestrooms] => 1740
[meetingrooms] => 16
[largestmr] => 17000
[totalms] => 50000
[picture] => /2016-12/Beau-Rivage-Fallen-Oak-Golf-Course_0.jpg
[region] => SE
[segment] => GC
[city] => Biloxi
[state] => MS
[longstate] => mississippi
[address] => 875 Beach Boulevard
[zip] => 39530
[country] => United States of America
[distance] => 21.00
)
[Bellagio] => Array
(
[name] => Bellagio
[nid] => 103
[alias] => /Bellagio
[guestrooms] => 3933
[meetingrooms] => 50
[largestmr] => 45000
[totalms] => 200000
[picture] => /2016-12/Bellagio-exterior.jpg
[region] => SW
[segment] => BB
[city] => Las Vegas
[state] => NV
[longstate] => nevada
[address] => 3600 Las Vega Boulevard South
[zip] => 89109
[country] => United States of America
[distance] => 10.00
)
Я дал бы StrPos попробовать – nfo
опечатку - in_array_r должен быть checkarrayvalues – user7355700
Yep - он рекурсивно проходит массив, чтобы найти этот термин. – user7355700