array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.in-array.php', 1 => 'in_array', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Функции для работы с массивами', ), 'prev' => array ( 0 => 'function.extract.php', 1 => 'extract', ), 'next' => array ( 0 => 'function.key-exists.php', 1 => 'key_exists', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/array/functions/in-array.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
in_array — Проверяет, присутствует ли в массиве значение
Ищет в haystack
значение needle
.
Если strict
не установлен, то при поиске
будет использовано нестрогое сравнение.
needle
Искомое значение.
Замечание:
Если
needle
- строка, сравнение будет произведено с учётом регистра.
haystack
Массив.
strict
Если третий параметр strict
установлен в
true
, тогда функция in_array()
также проверит соответствие типов
параметра needle
и соответствующего
значения массива haystack
.
Замечание:
До PHP 8.0.0
строковое
значение параметраneedle
будет соответствовать значению массива0
в нестрогом режиме, и наоборот. Это может привести к нежелательным результатам. Подобные крайние случаи существуют и для других типов. Если нет полной уверенности в типах значений, всегда используйте флагstrict
, чтобы избежать неожиданного поведения.
Возвращает true
, если needle
был найден
в массиве, и false
в противном случае.
Пример #1 Пример использования in_array()
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Нашёл Irix";
}
if (in_array("mac", $os)) {
echo "Нашёл mac";
}
?>
Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет:
Нашёл Irix
Пример #2 Пример использования in_array() с параметром strict
<?php
$a = array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
echo "'12.4' найдено со строгой проверкой\n";
}
if (in_array(1.13, $a, true)) {
echo "1.13 найдено со строгой проверкой\n";
}
?>
Результат выполнения приведённого примера:
1.13 найдено со строгой проверкой
Пример #3 Пример использования in_array() с массивом в качестве параметра needle
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
echo "'ph' найдено\n";
}
if (in_array(array('f', 'i'), $a)) {
echo "'fi' найдено\n";
}
if (in_array('o', $a)) {
echo "'o' найдено\n";
}
?>
Результат выполнения приведённого примера:
'ph' найдено 'o' найдено