Лучшее, что вы можете сделать, это, вероятно, поместить последний вызов вне цикла while и изменить логику цикла while, чтобы он выходил рано.Вместо:
while ($post = getPost()) {
printPost($post);
}
сделать что-то вроде
$last = getPost();
$post = getPost();
while ($post != null) {
printPost($last);
$last = $post;
$post = getPost();
}
printSpecial($post);
Редактировать : я предполагаю, что вы не знаете количество сообщений, пока неперебрал их, и что интерфейс, который возвращает сообщения до тех пор, пока они не будут исчерпаны, является единственным доступным.Если у вас есть счет и вы можете получить доступ к ним по номеру, то другие предложения будут работать нормально.На самом деле, если вы можете рассчитывать на то, что количество постов будет небольшим, лучше всего просто прочитать их в массив и сделать это с циклом for
, а не с циклом while
.