我需要得到一个current_selected_val的前两个值和下两个值,其中最大值仅表示在起始部分。目前,我正在使用这个,没有得到实际的结果。有人能帮我一下吗?
<?php
$pager_max = 8;
$current = 3;
for($i = 1; $i <= $pager_max; $i++) {
if ($i > ($current - $pager_max ) + 6 && $i < $current + 3) {
echo $i . '<br>';
}
}
?>
如果我选择$current作为
1- 1 2 3 4
2 3 4
3-2 3 4 5
4-3 4 5 6
5-4 5 6 7
6-5 6 7 8
7-5 6 7 8
8-5 6 7 8
如果我将$pager_max更改为任何其他值,那么行为应该是相同的。我只需要使用公式,而不需要使用任何函数。提前感谢
发布于 2022-02-04 17:09:09
function getValues(int $pager_max, int $current) {
if ($current === 1) {
return range(1, 4);
} elseif ($current + 2 >= $pager_max) {
return range($pager_max - 3, $pager_max);
} else {
return range($current - 1, $current + 2);
}
}
https://stackoverflow.com/questions/70990043
复制相似问题