у меня есть такой код
$count=15; // i manually initialising a value that not satisfying by folling condition
$low_limit=0;
$up_limit=10;
$num_pages=0;
(some loop) {
if (($count >= $low_limit) && ($count <= $up_limit))
{
$num_pages=$numpages+1;
echo $num_pages;
}
$low_limit=$up_limit+1;
$up_limit=$up_limit+10;
} // loop ends
моя логика была
$count
переменная // это значение можно часто менять
$low_limit
а также $up_limit
диапазоны значений // 0-10, 10-20, 20-30 и т. д.
$num_pages
переменная, которая возвращает
1 если
$low_limit
= 0 и$up_limit
= 102 если
$low_limit
= 11 и$up_limit
= 203 если
$low_limit
= 21 и$up_limit
= 30 и так далее
здесь $low_limit
а также $up_limit
может быть любым числом (но кратным 10). это может быть до 50000.
что будет в some loop
.?
Как я создавал эту программу, я много искал, но я нахожу только те программы, которые проверяют число в диапазоне.
Любая помощь будет с благодарностью.
Из-за комментариев выше, это должно работать как ожидалось:
$count = 34; // any number
$per_page = 10; // it's fixed number, but...
$num_page = ceil($count / $per_page); // returns 4
$low_limit = ($num_page - 1) * $per_page; // returns 30
$up_limit = $num_page * $per_page; // returns 40
Между записью № 30 и № 40 находится 11 записей, а не 10.
Есть и другие способы как это исправить:
1. сравнить < ... <=
: $low_limit < $count <= $up_limit
2. сравнить <= ... <
: $low_limit <= $count < $up_limit
3. установить пределы 1-10, 11-20, 21-30 и т. Д. (Просто +1
в $low_limit
на 4-й строке выше)
4. установите пределы 0-9, 10-19, 20-29 и т. Д. (Просто -1
в $up_limit
на 5-й строке выше)
Других решений пока нет …