В PHP 7, в чем разница между этими двумя подходами - использованием bool () и FILTER_VALIDATE_BOOLEAN при тестировании на логические преобразования? Разве они не должны поддаваться одинаковым результатам? Если нет, то почему?
//reusable functions
function view($data) {
echo sprintf('%s
», var_dump ((BOOL) $ данных));
}
function fview ($ data) {
echo sprintf ('
%s
', var_dump (filter_var ($ data, FILTER_VALIDATE_BOOLEAN)));
}
// проверяем, являются ли следующие значения логическими
Посмотреть(""); //ложный
вид (1); //правда
вид (-2); //правда
Вид ( "Foo"); //правда
Вид (2.3e5); //правда
Вид (массив (12)); //правда
Вид (массив ()); //ложный
Вид ( "ложь"); //правда
echo "
";
fview ( ""); //ложный
fview (1); //правда
fview (-2); //ложный
fview ( "Foo"); //ложный
fview (2.3e5); //ложный
fview (массив (12)); //ложный
fview (массив ()); //ложный
fview ( "ложь"); //ложный