Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
<?php
$ids = ['10', 7, '1e1'];
var_dump(in_array(10, $ids));
var_dump(in_array('7', $ids, true));
var_dump(array_search(7, $ids));bool(true) bool(false) int(1)
- Ждать, что
in_arrayсравнивает строго: по умолчанию она сравнивает через==, иin_array(10, ['10'])истинно; для===передайте третьим аргументомtrue. - Ждать, что
array_searchвернётtrue, какin_array: она возвращает ключ первого совпадения, здесь1, аfalse— только когда совпадений нет.
- Почему без третьего аргумента проверка по белому списку через
in_arrayможет пропустить чужое значение? - Что вернёт
array_search('7', $ids, true)для этого массива?