- Теория
- Теория
Функция ceil
Мы разделили общее число товаров в каталоге на количество товаров на одной странице и использовали результат, чтобы создать ссылки на страницы каталога. Ссылок получилось три, но на трёх страницах все товары не помещаются. Есть ещё четвёртая страница, но ссылка на неё не создалась.
Почему так произошло? Давайте посчитаем. Всего в каталоге 21 товар. На одной странице показывается шесть товаров. Если разделить 21
на 6
, получим 3.5
. Именно это число и попадает в переменную $pages
.
В условии цикла мы указали $i <= $pages
. Переменная-счётчик $i
увеличивается на 1
на каждой итерации. Цикл выполняет три итерации, а на четвёртой значение счётчика оказывается 4
. Это больше 3.5
, поэтому код в теле цикла не выполняется, и четвёртая ссылка не создаётся.
// Условие цикла: $i <= $pages;
// Первая итерация: $i = 1;
1 <= 3.5; // true
// Вторая итерация: $i = 2;
2 <= 3.5; // true
// Третья итерация: $i = 3;
3 <= 3.5; // true
// Чертвёртая итерация: $i = 4;
4 <= 3.5; // false
Следует учесть, что число в $pages
может быть дробным. Создавать ссылку нужно даже в том случае, если последняя страница заполнена не полностью. Для этого округлим число страниц вверх. Для такого округления в PHP есть встроенная функция ceil
. Она принимает число и, если оно дробное, округляет его вверх до ближайшего целого:
keks_log(ceil(3.5)); // Выведет: "4"
keks_log(ceil(3.99999)); // Выведет: "4"
keks_log(ceil(3.00001)); // Выведет: "4"
Используем функцию ceil
, чтобы получить правильное число страниц. Подставим это число в цикл в шаблоне и создадим ссылки на все страницы с товарами.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.