Как проверить есть ли значение в php массиве

Ответы
Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
28 октября 2021

Если вы знаете имя ключа, то можете проверить наличие значения по ключу

$numWords = ['zero' => 0, 'uno' => 1];
print_r(array_key_exists('zero', $numWords));
# => true
print_r(array_key_exists('quattro', $numWords));
# => false

Поиск с помщоью array_search возвращает ключ значения в массиве или false, если значения нет

print_r(array_search(0, $numWords));
# => "zero"

Еще один способ - отфильтровать массив и проверить, что он не пустой

print_r(array_filter($numWords, fn($item) => $item === 1));
# => [
# =>     "uno" => 1,
# => ]

Ну и последний вариант пройтись по массиву в цикле

<?php

foreach ($data as $item) {
  if($item === $needle) {
    print_r('Нашел!');
  }
}