Функция in_array() возвращает истину, если значение существует в массиве. Синтаксис функции in_array():
in_array ( mixed $needle , array $haystack , bool $strict = false ) : bool
Где:
Функция in_array() ищет $needle в массиве $haystack, используя оператор сравнения равенства (==). Чтобы использовать строгое сравнение (===), вам необходимо установить для аргумента $strict значение true.
Если проверяемое значение является строкой, функция in_array() будет искать ее с учетом регистра.
Функция in_array () возвращает истину, если в массиве $haystack существует элемент $needle, в противном случае возвращается false.
В следующем примере функция in_array() используется для проверки наличия значения "update" в массиве $actions:
<?php
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('update', $actions);
var_dump($result); // bool(true)
Возвращает true.
В следующем примере возвращается false, поскольку значение "publish" не существует в массиве $actions:
<?php
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('publish', $actions);
var_dump($result); // bool(false)
В следующем примере возвращается значение false, поскольку значение «New» не существует в массиве $actions. Обратите внимание, что in_array() сравнивает строки с учетом регистра:
<?php
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('New', $actions);
var_dump($result); // bool(false)
В следующем примере функция in_array() используется для поиска числа 15 в массиве $user_ids. Он возвращает истину, потому что функция in_array() сравнивает значения, используя оператор сравнение (==):
<?php
$user_ids = [10, '15', '20', 30];
$result = in_array(15, $user_ids);
var_dump($result); // bool(true)
Чтобы использовать строгое сравнение, необходимо передать false третьему аргументу ($strict) функции in_array():
<?php
$user_ids = [10, '15', '20', 30];
$result = in_array(15, $user_ids, true);
var_dump($result); // bool(false)
На этот раз функция in_array() возвращает false.
<?php
$colors = [
['red', 'green', 'blue'],
['cyan', 'magenta', 'yellow', 'black'],
['hue', 'saturation', 'lightness']
];
if (in_array(['red', 'green', 'blue'], $colors)) {
echo 'RGB colors found';
} else {
echo 'RGB colors are not found';
}
Вывод:
RGB colors found