Есть массив вида:
array(3) {
[0]=> string(*) "test.ru-111.11111.111"
[1]=> string(*) "site2.ru-2222.22.222"
[2]=> string(*) "test.in-333.333.333"
}
Мне нужно найти в нем значение (точнее номер, под которым записано в массиве это значение), например - test.ru, делаю так:
array_search('test.ru', $array);
не находит. A
array_search('test.ru-111.11111.111', $array);
находит.
Но оно понятно почему... Как сделать чтобы находило по слову которое идет до -.
При условии, что массив $array нельзя выводить в цикле.
//////////////////////////
foreach($new_arr as $list_d_ip) {
$iskomii = explode('-', $list_d_ip);
$iskomii = str_replace(' ', '', $iskomii[0]);
$patt = '/'.$iskomii.'-/';
$ss = preg_grep($patt, $array);
var_dump($ss);
}
array(3) { [0]=> string(26) "zesiduwyk.ru -11.11.11.11 " [1]=> string(27) "edeziragaj.ru -2222.222.22 " [2]=> string(13) "test.ru-00000" }
Используйте preg_grep(), чтобы искать в массиве с помощью регулярного выражения.
$array = [
"test.ru-111.11111.111",
"site2.ru-2222.22.222",
"test.in-333.333.333",
];
var_dump(preg_grep('/test.ru-/', $array));
# Вывод:
array(1) {
[0]=> string(21) "test.ru-111.11111.111"
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости