|
|
|
| Здравствуйте.
C простой задачей бьюсь уже второй час (
Помогите с элегантным решением =)
<?
// есть массив с фото
$photos= array(
34 => array('id'=>34,'photo'=>'34.jpg', 'other' => '.......'),
35 => array('id'=>35,'photo'=>'35.jpg', 'other' => '.......'),
38 => array('id'=>38,'photo'=>'38.jpg', 'other' => '.......'),
47 => array('id'=>47,'photo'=>'47.jpg', 'other' => '.......'),
55 => array('id'=>55,'photo'=>'55.jpg', 'other' => '.......'),
87 => array('id'=>87,'photo'=>'87.jpg', 'other' => '.......')
);
// есть текущий элемент
$current = 47;
// выводим теущее фото
echo $photos[$current]['photo'];
// собственно теперь задача
// 1. вывести номер $current фотки, например 4 из count($photos);
// 2. Получить id предыдущей и следующей фотки
// В данном примере 38 и 55
?>
|
| |
|
|
|
|
|
|
|
для: Андддрей
(13.02.2013 в 17:36)
| | Встречный вопрос - зачем дублировать ключами массива id фото? | |
|
|
|
|
|
|
|
для: confirm
(13.02.2013 в 17:43)
| | Не обращайте внимания, будем считать что их нет.
На логику получения никак не влияет. | |
|
|
|
|
|
|
|
для: Андддрей
(13.02.2013 в 17:54)
| | Если их нет, то ничего не стоит обратиться к необходимому вложению массива по индексу, и получить значение любого его ключа.
Так что обращать внимание нужно на все, ибо это может сыграть не последнюю роль. | |
|
|
|
|
|
|
|
для: confirm
(13.02.2013 в 18:05)
| | Хорошо, чтобы небыло путаницы переписал массив
<?
$photos= array(
34 => array(......),
35 => array(......),
38 => array(......),
47 => array(......),
55 => array(......),
87 => array(......)
);
$cur = 38;
# нужно получить порядковый номер $cur, а также предыдущий и следующий ключ.
?>
|
| |
|
|
|
|
|
|
|
для: Андддрей
(13.02.2013 в 18:09)
| | Нет тут порядкового номера, есть ключи. Что вам мешает написать так:
<?
$photos= array(
array('id'=>34,...),
array('id'=>35,...),
//.....
array('id'=>87,...)
);
|
и работать с индексами?
Все определяется задачами, и уж под задачи надо закладывать структуру данных. | |
|
|
|
|
|
|
|
|
для: Андддрей
(13.02.2013 в 17:36)
| | подозреваю что массив у вас из базы данных, а если это так, то задачу необходимо решать средствами СУРБД | |
|
|
|