Имеется массив городов, нужно сделать множественный поиск по этому массиву.
$cities = [
'0a83d21d-11e5' => "Бабаи",
'0a83d21d-11e5' => "Бабаи1",
'0a83d21d-11e5' => "Бабаи22",
'0a83d21d-11e5' => "Бабаи33",
'0b9a89db-11e4' => "Зеленогорское",
'0befc300-11e4' => "Владимировка (Донецкая обл.)",
'0c4d5128-11e3' => "Берегомет",
'0c29a594-11e4' => "Карнауховка(Днепропетровская обл.)",
'0cbfcfd7-11e4' => "Богдановка (Кировоградская обл.)",
'0ccbf4b5-11e5' => "Ромодан",
'0d9256d1-11e5' => "Скороходово (Полтавська обл.)",
'0db17b0a-11de' => "Корюковка",
'0db17b0c-11de' => "Сосница"
]
допустим приходит ajax-запрос с таким словом Баб, нужно чтобы результат был таким:
$cities = [
'0a83d21d-11e5' => "Бабаи",
'0a83d21d-11e5' => "Бабаи1",
'0a83d21d-11e5' => "Бабаи22",
'0a83d21d-11e5' => "Бабаи33",
]
Подскажите, как сделать такой поиск в массиве?
т.е. интересует сам поиск по массиву, код php, ajax это как пример привёл
Например так, можно использовать регулярку.
$input = "Баб";
$cities = [
'0a83d21d-11e5' => "Бабаи",
'0a83d21d-11e5' => "Бабаи1",
'0a83d21d-11e5' => "Бабаи22",
'0a83d21d-11e5' => "Бабаи33",
'0b9a89db-11e4' => "Зеленогорское",
'0befc300-11e4' => "Владимировка (Донецкая обл.)",
'0c4d5128-11e3' => "Берегомет",
'0c29a594-11e4' => "Карнауховка(Днепропетровская обл.)",
'0cbfcfd7-11e4' => "Богдановка (Кировоградская обл.)",
'0ccbf4b5-11e5' => "Ромодан",
'0d9256d1-11e5' => "Скороходово (Полтавська обл.)",
'0db17b0a-11de' => "Корюковка",
'0db17b0c-11de' => "Сосница"
]
$pattern = "/".$input."/uism";
$output = null;
foreach ($cities as $k => $city)
if (preg_match($pattern, $city) > 0)
$output[$k] = $city;
Либо, чтобы работало быстрее используйте функцию substr вместо регулярных выражений
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости