Приведение значения переменной к типу Boolean является распространённой задачей при разработке на языке PHP. Однако в ряде случаев, выполнения простого приведения типа может быть недостаточно.
Например, переменная, содержащая строковое значение 'false', при приведении её типа к Boolean, будет иметь значение TRUE:
$var = 'false';
$var = (bool)$var;
Использование такого метода приведение типов может послужить причиной появления ошибок в работе приложения, поэтому необходимо чётко понимать и учитывать результат выполнеия приведения типов в PHP в зависимости от содержания приводимой переменной. Прочитать подробнее о приведении типов в PHP можно здесь.
В качестве альтернативы рассмотренного метода приведения типа переменной к Boolean, может являться написание собственной функции, возвращающей значения TRUE или FALSE в зависимости от значения переданной переменной, что востребовано при выполнении специализированных задач, либо использование фильтрации данных.
В конкретном случае, интерес представляет функция filter_var, фильтрующая переменную с помощью заданного фильтра. Для фильтрации (валидации) значения переменной с целью получения значения типа Boolean, следует использовать следующий PHP-код:
$var = 'false';
$var = filter_var($var, FILTER_VALIDATE_BOOLEAN);
В результате выполнения приведённого кода, переменной $var будет присвоено значение типа Boolean, равное FALSE. Используя фильтр валидации данных FILTER_VALIDATE_BOOLEAN, возвращаемое значение равно TRUE для проверяемых значений равных '1', 'true', 'on' и 'yes' (скалярные значения предварительно приводятся к строковым). В остальных случаях, возвращаемое значение равно FALSE.
Как видно, использование встроенных возможностей фильтрации в PHP может значительно упростить процесс разработки, поэтому их обязательно стоит изучить каждому начинающему разработчику.