Содержание:
(PHP 4, PHP 5, PHP 7)
in_array — Проверяет, присутствует ли в массиве значение
Описание
Ищет в haystack значение needle . Если strict не установлен, то при поиске будет использовано нестрогое сравнение.
Список параметров
Если needle — строка, сравнение будет произведено с учетом регистра.
Если третий параметр strict установлен в TRUE тогда функция in_array() также проверит соответствие типов параметра needle и соответствующего значения массива haystack .
Возвращаемые значения
Возвращает TRUE , если needle был найден в массиве, и FALSE в обратном случае.
Примеры
Пример #1 Пример использования in_array()
Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет:
Пример #2 Пример использования in_array() с параметром strict
= array( ‘1.10’ , 12.4 , 1.13 );
if ( in_array ( ‘12.4’ , $a , true )) <
echo "’12.4′ найдено со строгой проверкой
" ;
>
if ( in_array ( 1.13 , $a , true )) <
echo "1.13 найдено со строгой проверкой
" ;
>
?>
Результат выполнения данного примера:
Пример #3 Пример использования in_array() с массивом в качестве параметра needle
= array(array( ‘p’ , ‘h’ ), array( ‘p’ , ‘r’ ), ‘o’ );
if ( in_array (array( ‘p’ , ‘h’ ), $a )) <
echo "’ph’ найдено
" ;
>
if ( in_array (array( ‘f’ , ‘i’ ), $a )) <
echo "’fi’ найдено
" ;
>
if ( in_array ( ‘o’ , $a )) <
echo "’o’ найдено
" ;
>
?>
Результат выполнения данного примера:
Смотрите также
- array_search() — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
- isset() — Определяет, была ли установлена переменная значением отличным от NULL
- array_key_exists() — Проверяет, присутствует ли в массиве указанный ключ или индекс
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 не может быть массивом.
Пример 1. Пример использования in_array()
= array( "Mac" , "NT" , "Irix" , "Linux" ); if ( in_array ( "Irix" , $os )) < echo "Got Irix" ; > if ( in_array ( "mac" , $os )) < echo "Got mac" ; > ?> |
Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет:
Пример 2. Пример использования in_array() с параметром strict
= array( ‘1.10’ , 12.4 , 1.13 ); |
if ( in_array ( ‘12.4’ , $a , true )) <
echo "’12.4′ found with strict check
" ;
>
if ( in_array ( 1.13 , $a , true )) <
echo "1.13 found with strict check
" ;
>
?>
Результат выполнения данного примера:
1.13 found with strict check
Пример 3. Пример использования in_array() с массивом в качестве параметра needle
= array(array( ‘p’ , ‘h’ ), array( ‘p’ , ‘r’ ), ‘o’ ); |
if ( in_array (array( ‘p’ , ‘h’ ), $a )) <
echo "’ph’ найдено
" ;
>
if ( in_array (array( ‘f’ , ‘i’ ), $a )) <
echo "’fi’ найдено
" ;
>
Привет, друзья! Сегодня мы с вами немного поговорим о массивах. А именно о том, как осуществить по ним корректный поиск на совпадение. В одной из статей мы подробно рассмотрели все варианты поиска совпадений в одномерных массивах.
Для того чтобы вы понимали, о чем идем речь, поясню. Одномерный массив (на примере PHP) – это:
А многомерный, например, двух-, – это:
Так вот, привычная функция «in_array», которая существует в PHP, не сможет обработать второй массив. Именно поэтому я поделюсь с вами готовой функцией, воспользовавшись которой, вы сможете проверить на соответствие ваши данные в многомерном массиве.
Функция эта выглядит так:
Используйте ее без изменения. А это пример ее использования:
Соответственно, при наличии совпадения будет выполняться нужное вам действие. В моем случае – это простой вывод сообщения.