[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: последовательно выбрать в массиве 3 значения
Страницы: 1, 2, 3
mailmoney
Здравствуйте. Я уже сделал подобное, но вытек баг, в общем задача очень на первый взгляд простая.

Array
(
[
0] => 718
[1] => 719
[2] => 720
[3] => 721
[4] => 725
[5] => 726
)


массив, простой массив. нам известно, что предудущий раз выборка остановилась на значении 720, нам нужно выбрать следущие 3 значения (т.е. должно получиться = 721, 725, 726)

другой вариант, если остановились на 725, то должно получиться 726, 718, 719


в общем циклично выбрать 3 значения (или иное число я образно написал 3) в массиве последовательно.
T1grOK
НЕпонятно зачем массив кусками "выхвачивать".
У Вас что в цикле break; постоянно дергается?

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
mailmoney
нет. не кусками, у меня есть такой массив пользователей, скрипт допустим запускается в момент записи в БД, нужно выбрать 3 пользователей которые в этом массиве последовательно с стартовой позиции (которая каждый раз меняется)
Hello
mailmoney
http://3v4l.org/RTeu3
Проверку на бесконечный цикл запили сам.

_____________
VPS от 5$, первые 2 месяца - бесплатно.
johniek_comp
это называется циклический сдвиг массива, попробуй загуглить может найдешь для php

_____________
user posted image
mailmoney
ладно, спасибо, и за код , конечно его нужно было допиливать но времени нет, вот написал свой вариант, возможно он тоже где то начнет глючить, но вроде делает что нужно (возможно мой код старомоден и глуп, но вроде работает)


$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)));



спасибо. кому нужно - можете пользоваться, мне не жалко.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.