<?php
$total_pages = 100;
$current_page = 50;
$boundaries = 2;
$around = 2;
$arr1 = range(1, $boundaries);
$arr2 = range($total_pages - max(($boundaries - 1), 0), $total_pages);
$arr3 = range(min($current_page - $around, 1), $current_page);
$arr4 = range($current_page, $current_page + $around);
$result = array_unique(array_merge($arr1, $arr2, $arr3, $arr4));
sort($result);
var_dump($arr3 );
?>
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array(50) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
[9]=>
int(10)
[10]=>
int(11)
[11]=>
int(12)
[12]=>
int(13)
[13]=>
int(14)
[14]=>
int(15)
[15]=>
int(16)
[16]=>
int(17)
[17]=>
int(18)
[18]=>
int(19)
[19]=>
int(20)
[20]=>
int(21)
[21]=>
int(22)
[22]=>
int(23)
[23]=>
int(24)
[24]=>
int(25)
[25]=>
int(26)
[26]=>
int(27)
[27]=>
int(28)
[28]=>
int(29)
[29]=>
int(30)
[30]=>
int(31)
[31]=>
int(32)
[32]=>
int(33)
[33]=>
int(34)
[34]=>
int(35)
[35]=>
int(36)
[36]=>
int(37)
[37]=>
int(38)
[38]=>
int(39)
[39]=>
int(40)
[40]=>
int(41)
[41]=>
int(42)
[42]=>
int(43)
[43]=>
int(44)
[44]=>
int(45)
[45]=>
int(46)
[46]=>
int(47)
[47]=>
int(48)
[48]=>
int(49)
[49]=>
int(50)
}
preferences:
244.31 ms | 408 KiB | 326 Q