Выбор ответа Middle Массивы изнутри обновлено
in_array без строгого режима
Вопрос
Что вернёт in_array("abc", [0]) в PHP 8 и in_array("1e1", ["10"])?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: false и true. inarray по умолчанию сравнивает через ==.
Варианты ответа
trueиtruefalseиfalsetrueиfalsefalseиtrueправильный ответ
Разбор
in_array по умолчанию сравнивает через ==. В PHP 8 "abc" == 0 ложно (в PHP 7 было истинно). А "1e1" == "10" истинно: обе строки числовые и равны как числа. Чтобы не ловить такие сюрпризы, передают третий аргумент true: in_array($x, $list, true).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.