- Теория
- Теория
Сокращённый тернарный оператор ?:
Мы преобразовали значение из адресной строки в число, используя функцию intval
. Если функция вернула ноль, то адрес указан неверно. Чтобы в этом случае открывалась первая страница каталога, нужно указать переменной $page
значение по умолчанию.
Используем сокращённый тернарный оператор — ?:
. Он обозначается знаком вопроса и двоеточием:
$foo = значение-1 ?: значение-2
Оператор работает так: если значение-1
истинно, то в переменную запишется оно. А если ложно, то запишется значение-2
.
Чтобы открывать по умолчанию первую страницу каталога, укажем переменной $page
второе возможное значение:
$page = intval($_GET['page']) ?: 1;
Если из параметра в адресной строке нельзя извлечь число, функция intval
вернёт ноль.
// Функция intval вернула 0
$page = 0 ?: 1;
В PHP ноль считается ложным. Так как первое значение ложное, в переменную запишется второе значение — число 1
.
Ложными в PHP также считаются строки ''
и '0'
, булево значение false
и массивы без элементов. Остальные числа, строки и массивы — истинные.
Используем сокращённый тернарный оператор, чтобы указать второе значение для переменной $page
. После этого убедимся, что первая страница каталога открывается даже тогда, когда указано неверное значение параметра.
Тернарный оператор похож на условие if
. Об их сходстве и различиях, а так же о полной версии тернарного оператора мы поговорим в одном из следующих заданий.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.