Использование троичного оператора может быть полезным. Не каждый считает троичные операции легко читаемыми. Полагаю, дело предпочтений.
function unsignedInt($int) {
return (int) $int >= 0 ? (int) $int : 0;
}
$start = unsignedInt($_GET['s']);
Хотя это может потенциально показывать предупреждения (функция не обеспечивает существование $ _GET ['s']), поэтому я лично, вероятно, объявил бы мои ожидаемые переменные get в верхней части скрипта:
$_GET['s'] = isset($_GET['s']) ? $_GET['s'] : '';
И так как функция невероятно похожа, я мог бы сделать все это в объявлении переменной вместо использования функции:
$start = isset($_GET['s']) && (int) $_GET['s'] >= 0 ? (int) $_GET['s'] : 0;
Так что я полагаю, это зависит от того, как вы планируете использовать этот метод в своем коде.