Кстати о "рабочем коде" ТС:
$last_id=719;
$list = array(718, 720, 721, 725, 726);
for ($x=0;$x<count($list);$x++){
if ($list[$x]>$last_id){$list_new[]=$list[$x];}
}
if (count($list_new)<3){
for ($x=0;$x<count($list);$x++){
$list_new[]=$list[$x];
}
}
for ($x=0;$x<3;$x++){
$list_new_users[]=$list_new[$x];
}
$list_new_users=(array_values(array_unique($list_new_users)));
если посмотреть унимательно на код, то заметим, что числа 719, нет в самом массиве, а в ТЗ сказанно
чем вводит в заблуждение... как на самом деле должно быть?, все что больше числа, на котором "остановилась" выборка, либо же строго со следующего числа...
Потом, а если будет ситуация, что $last_id=777 ?, то скрипт вообще выдаст ошибку, и еще, в ТЗ не сказано что делать с числом, совпавшим с $last_id, т.е. если массив будет:
$list = array(718, 719, 720);
а
$last_id=719
то результатом будет
Array
(
[0] => 720
[1] => 718
[2] => 719
)
нужно ли учитывать в результате, то число с которого начали так сказать... много "недопониманий" и соответственно будут совершенно разные "скрипты".