![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| serezhka1986 |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 215 Регистрация: 12.6.2009 Репутация: 1 Всего: 0 |
Добрый день!
Прошу помощи... Как получить следующий и предыдущий элемент многомерного массива? Пробовал с помощью next() и prev(), но следующий массив берется от первого элемента. Пример: Есть такой массив
Если я пишу
То получаю такой массив:
То есть следующий после первого. А как мне получить следующий от, например, третьего элемента. Я точно знаю интересующую меня дату (ключ массива), но мне надо получить предыдущий и следующий элемент после него. --------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... |
||||||
|
|||||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
редко с подобным сталкивался, потому предложу "поверхностное" решение.
выделить с помощью array_keys ключи отдельно. найти позицию(числовую) в этом массиве нужного тебе ключа. сделать ±1 и получить соседей |
|||
|
||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Здесь как нельзя кстати использовать Iterator
Реализовать метод перемотки можно в нём как раз и после этого получать соседей. Это сообщение отредактировал(а) Sentox - 24.7.2012, 22:56 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
такие темы обычно решаю на стадии сбора данных. к примеру, выборка пользователей завершается массивом, где ключами служат их id. если же надо будет ещё и сделать перечень по принципу "следующий", то дополнительно сделаю массив с порядковыми ключами, а значениями будут эти id
|
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
грубый способ но работает)))
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| serezhka1986 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 215 Регистрация: 12.6.2009 Репутация: 1 Всего: 0 |
Да... Действительно грубоватый способ Но так ведь работает быстрее чем перебором массива через foreach? Или я ошибаюсь? Это сообщение отредактировал(а) serezhka1986 - 25.7.2012, 09:55 --------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... |
|||
|
||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
Добавлено через 3 минуты и 53 секунды если известен ключ, то, как сказал skyboy, нужно сначала получить позицию по ключу:
Добавлено через 7 минут и 23 секунды http://codepad.org/wvlunllF |
||||
|
|||||
| Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |