Как проверить наличие параметра, если он может быть нулём

15.02.2024 · PHP

Как проверить наличие параметра, если он может быть нулём

Параметр page=0 исчезает в ветке с empty. Эта функция объединяет отсутствие значения с несколькими ложными значениями. Сначала разделите проверку наличия и проверку формата.

$raw = $_GET["page"] ?? null;
$page = filter_var( $raw, FILTER_VALIDATE_INT, array( "options" => array( "min_range" => 0 ) ) );
if( $page === false || $raw === null ) $page = 0;

Строгое сравнение с false сохраняет целое 0. Для публичной пагинации, начинающейся с единицы, поменяйте нижнюю границу и значение по умолчанию. Не передавайте исходную строку в SQL или вычисление смещения. Проверьте отрицательное число, дробь и page[]=1.

Назад в блог

От идеи —
к первому шагу.

Расскажите, что хотите создать.
Обсудим задачу и наметим следующий шаг.