Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
<?php
$age = filter_var('42abc', FILTER_VALIDATE_INT);
$email = filter_var('ann@site.ru', FILTER_VALIDATE_EMAIL);
$sort = 'price';
$ok = in_array($sort, ['name', 'price'], true);
var_dump($age, $email, $ok);bool(false) string(11) "ann@site.ru" bool(true)
- Ждать, что
filter_var('42abc', FILTER_VALIDATE_INT)даст42, как(int): фильтр проверяет всю строку, и любая буква даётfalse. - Ждать, что
FILTER_VALIDATE_EMAILвернётtrueдля верного адреса:filter_varвозвращает само проверенное значение, здесь строку'ann@site.ru'.
- Почему результат
filter_varсравнивают с=== false, а не проверяют через!? - Что даст
in_array('1', [1, 2])без третьего аргумента и чем это опасно?