Поиск по всему массиву

214
21 августа 2018, 12:00

Есть массив вида:

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" }
Answer 1

Используйте 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"
}
READ ALSO
Как проверить, существует ли каталог на Яндекс.Диске

Как проверить, существует ли каталог на Яндекс.Диске

Нормально подключился к приложению через yandex-php-library, могу создавать каталоги, файлы и тд

241
Не собирается библиотека на boost::python в c++

Не собирается библиотека на boost::python в c++

Visual StudioВ настройках example добавил в каталоги библиотек vc++ python/include, python/libs, корень boost_{version}, boost/stage/lib, где скомпилированные boost_ dll-ки, при этом...

248
Как сделать так, чтобы числа выводились в прямом порядке, тоже с использованием рекурсии?

Как сделать так, чтобы числа выводились в прямом порядке, тоже с использованием рекурсии?

При помощи этого кода числа выводятся в обратном порядке, что изменить в коде, чтобы они выводились в прямом порядке?

226
Вывод на экран в виде 16.09.2013

Вывод на экран в виде 16.09.2013

Подскажите, пожалуйста, как мне вывести в консоли дату с таким форматом: 1609

244