3v4l.org

run code in 500+ PHP versions simultaneously
<?php // Prepare current, total pages and pagination container $current = isset($_GET['page']) ? intval($_GET['page']) : 1; $total = 5; $pagination = []; // Check if pagination required if ($total > 1) { // Check if current page is not first page if ($current > 1) { $pagination[] = '<a class="pagination_backward" href="#">قبلی</a>'; $pagination[] = '<span style="color:#848d95; margin:0px 10px;">…</span>'; } // Iterate through pages for ($i = 1; $i <= $total; $i++) { // Check if handling current page if ($i === $current) { $pagination[] = '<a class="pagination_active" href="#">' . $i . '</a>'; } else { $pagination[] = '<a href="#">' . $i . '</a>'; } } // Check if current page is not last page if ($current < $total) { $pagination[] = '<span style="color:#848d95; margin:0px 10px;">…</span>'; $pagination[] = '<a class="pagination_backward" href="#">بعدی</a>'; } } var_dump($pagination);
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.17 - 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.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.7
array(7) { [0]=> string(43) "<a class="pagination_active" href="#">1</a>" [1]=> string(17) "<a href="#">2</a>" [2]=> string(17) "<a href="#">3</a>" [3]=> string(17) "<a href="#">4</a>" [4]=> string(17) "<a href="#">5</a>" [5]=> string(56) "<span style="color:#848d95; margin:0px 10px;">…</span>" [6]=> string(52) "<a class="pagination_backward" href="#">بعدی</a>" }

preferences:
89.65 ms | 1680 KiB | 4 Q