viphorizon
@viphorizon

Как сравнить переменную с массивом?

Как сравнить переменную с массивом в php?
  • Вопрос задан
  • 3204 просмотра
Решения вопроса 1
в цикле сравнить переменную с каждым значением в массиве
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
creativeworm
@creativeworm
Можно использовать in_array() или array_search()
in_array -- Проверить, присутствует ли в массиве значение
Описание
bool in_array ( mixed needle, array haystack [, bool strict] )

Ищет в haystack значение needle и возвращает TRUE в случае удачи, FALSE в противном случае.

Если третий параметр strict установлен в TRUE тогда функция in_array() также проверит соответствие types параметра needle и соответствующего значения массива haystack.

Замечание: Если needle - строка, сравнение будет регистрозависмым.

Замечание: В PHP версий, более ранних, чем 4.2.0 параметр needle не может быть массивом.

Пример использования:
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo "Got mac";
}
?>

Источник: PHP.SU

array_search -- Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
Описание
mixed array_search ( mixed needle, array haystack [, bool strict] )

Ищет в haystack значение needle и возвращает ключ, если таковое присутствует в массиве, FALSE в противном случае.

Замечание: Если needle является строкой, производится регистро-зависимое сравнение.

Замечание: До PHP 4.2.0, array_search() при неудаче возвращала NULL вместо FALSE.

Если вы передадите значение TRUE в качестве необязательного третьего параметра strict, функция array_search() также проверит тип needle в массиве haystack.

Если needle присутствует в haystack более одного раза, будет возвращён первый найденный ключ. Для того, чтобы возвратить ключи для всех найденных значений, используйте функцию array_keys() с необязательным параметром search_value.


Пример:
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 0x000000, 3 => 'green', 4 => 'red');

$key = array_search('red', $array);         // $key = 1;
$key = array_search('green', $array);       // $key = 2; (0x000000 == 0 == 'green')
$key = array_search('green', $array, true); // $key = 3;
?>

Источник: PHP.SU
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы