Никакой реальной разницы в двух предыдущих реализациях (кроме использования тернарного оператора) нет, но вы можете добавить туда проверку ошибок, если ваша база данных не может возвращать страницы, так как она отключена или пользователь злонамеренно предоставляет что-то другое номер вашей переменной $ page. Здесь я устанавливаю номер страницы на ноль, если страница пуста или не является номером:
$page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 0;
И этот последний цикл может быть записан как:
for ($i = 1; $i <= $totalpages; $i++) {
echo ($i == $page) ? "<b>" . $i . "</b>" : "<a href='test.php?page=" . $i . ">" . $i . "</a>";
}