Они передаются как строки, поэтому всегда являются правдивыми, если только они не являются одним из них, которые вместо этого оцениваются как false:
- Пустая строка
''
- Строка, содержащаяцифра ноль
'0'
Чтобы упростить мою жизнь, я просто передаю логические переменные GET как 1
или 0
и проверяю их как одно из этих значений, или выбираю значение по умолчаниюзначение соответственно:
// Default value of false
$var = false;
if (isset($_GET['var']))
{
if ($_GET['var'] === '1' || $_GET['var'] === '0')
{
$var = (bool) $_GET['var'];
}
}