ProfiPHPProfiPHP
Категория: Функции для работы с массивами

Функция In_array

Функция In_array проверяет, присутствует ли в массиве значение.
bool in_array( mixed $needle, array $haystack [, bool $strict = FALSE ] )
Функция In_array ищет в Haystack значение Needle. Если Strict не установлен, то при поиске будет использовано нестрогое сравнение.

Параметр Needle содержит искомое значение. Если Needle - строка, сравнение будет произведено с учетом регистра.

Параметр Haystack содержит массив.

Если третий параметр Srict установлен в TRUE тогда функция In_array также проверит соответствие типов параметра Needle и соответствующего значения массива Haystack. Данный параметр необходимо использовать, поскольку функция In_array всегда возвращает True, если в массиве одно из значений Haystack равно нулю и Needle это строка:
$array = array( 'one', 'two', 0 );
var_dump( in_array( 'three', $array ) ); // bool(true)
var_dump( in_array( 'three', $array, true ) ); // bool(false)
При выключенном параметре Srict то, что ищется приводится к типу текущего элемента массива. Поэтому, когда мы находимся на элементе '0' то наша переменная 'three' приводится к типу Int:
var_dump( (int)'three' ); // int(0) 
При активном параметре Srict, приведения типа не происходит:
'three' !== 0
Функция In_array возвращает TRUE, если Needle был найден в массиве, и FALSE в обратном случае.

Пример использования:
$color = array( 'red', 'blue', 'black', 'yellow' );
if ( in_array( 'blue', $color ) ) {
echo 'Color exists';
}

Добавить комментарий

Имя:
Текст комментария: