@Alexander_Mas

Проверить входит ли строка в массив?

именно не равно значение ячейке массива, а входит ли как часть значения.

$owned_urls= array('This is a first site website1.com', 'This is a 2 site website2.com', 'Third site website3.com');
$string = 'website3.com';

Надо проверить есть ли в массиве ячейка содержащая $string. Какой самый простой вариант?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
AnatolTh
@AnatolTh
Full Stack Developer
Если необходимо узнать номер ячейки, в которой содержится искомая строка:
$i = -1;
foreach ($owned_urls as $k => $v) {
  $pos = strpos($v, $string);
  if ($pos > 0) $i = $k;
}

if ($i > 0) {
  //значение найдено в ячейке, номер которой содержится в $i
} else {
  //значение не найдено
}


Если нет необходимости:
$str = implode(",", $owned_urls);
$pos = strpos($str, $string);

if ($pos > 0) {
  //значение найдено
} else {
  //значение не найдено
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@zhora_pro
key(array_filter($owned_urls, function ($item) use ($string) {
    return mb_strpos($item, $string);
}));

Вернет номер первой ячейки, содержащей строку или NULL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 19:51
1000 руб./за проект
24 апр. 2024, в 19:40
5000 руб./за проект
24 апр. 2024, в 19:18
50000 руб./за проект