Forum Webscript.Ru

Программирование => PHP => Тема начата: tarya от 05 Июля 2004, 10:53:21

Название: Массив - определение позиции +/-
Отправлено: tarya от 05 Июля 2004, 10:53:21
Добрый день.

Задача вот в чем. Есть массив (1,3,34,53,21,45,231,2,566). У меня задача - если на данный момент запрашивается елемент с ключем 21 - как определить значения соседствующие с ним? - prev = 53, next=45.

Пробовал так:


if ($n->elements) foreach ($n->elements as $nrows)
{
if ($nrows[\'id\'] == $_GET[\'image\'])
{
$next = next($n->elements);
break;
}
$prev = $nrows;
}
 

Но получаются глупости. Если $prev = $nrows работает, то Некст .... :/...

Подскажите как быть? Мне для галлереи нужно.

Спасибо за помощь.
Название: Массив - определение позиции +/-
Отправлено: tarya от 05 Июля 2004, 12:09:57
короче масив если более точно такой


Array
(
    [id] => 37
    [description] => Ты знаешь, я верил словам
Я верил в их силу и страсть
Они рвали меня пополам
И не давали упасть

    [picture] => EVIL_EMPIRE_FRONT_1_.JPG
    [gallery] => 3
    [visible] => 1
)
Array
(
    [id] => 36
    [description] => Ты знаешь, я верил словам
Я верил в их силу и страсть
Они рвали меня пополам
И не давали упасть

    [picture] => BOMBTRACK_FRONT_1_.JPG
    [gallery] => 3
    [visible] => 1
)
Array
(
    [id] => 35
    [description] => Ты знаешь, я верил словам
Я верил в их силу и страсть
Они рвали меня пополам
И не давали упасть

    [picture] => AMERICAN_HEADLINES_FRONT_1_.JPG
    [gallery] => 3
    [visible] => 1
)
Array
(
    [id] => 34
    [description] => Ты знаешь, я верил словам
Я верил в их силу и страсть
Они рвали меня пополам
И не давали упасть

    [picture] => 17.JPG
    [gallery] => 3
    [visible] => 1
)
Array
(
    [id] => 33
    [description] => Ты знаешь, я верил себе
Пытаясь найти покой
Как-будто бы обо мне
Заботился кто-то другой
Но все
    [picture] => 12.JPG
    [gallery] => 3
    [visible] => 1
)


теперь если ай ди =  35 -  то по краям что будет.

чтото я кручу кручу,.. и некак если чесно. Предыдщую позицию легко найти. а следующую?
Название: Массив - определение позиции +/-
Отправлено: Меняздесьдавнонет от 05 Июля 2004, 12:52:34
$a=array_keys($n->elements)
$key=array_search($a,$_GET[\'image\']))
$prev=$key-1;
$next=$key+1;

дальше проверяем существование и выводим

с порядком аргументов могу напутать,
Название: Массив - определение позиции +/-
Отправлено: tarya от 05 Июля 2004, 12:59:22
Цитировать
RomikChef:
RomikChef


я всегда знал что тут ты самый мозговитый, спасибо.
Название: Массив - определение позиции +/-
Отправлено: tarya от 05 Июля 2004, 13:33:54
ммм... все равно какой то гон получается.

Расмотрим пример:


$arr = array(
   1 => 44,
   2 => 324,
   34 => 23,
   4 => 6544,
   56 => 44,
   345 => 44574,
   56 => 4794
);


$a=array_keys($arr);
$key=array_search(4, $a);
$prev=$key-1;
$next=$key+1;

echo $prev."|".$next."|".$key;

выводит: 2|4|3.

Чтото не то. Вот задачка интересная вышла.
Название: Массив - определение позиции +/-
Отправлено: Меняздесьдавнонет от 05 Июля 2004, 14:15:44
ну что делать с этими обезьянами?..
Название: Массив - определение позиции +/-
Отправлено: Меняздесьдавнонет от 05 Июля 2004, 14:17:12
сколько раз я зарекался давать готовы й код.
они же тупо копируют, ни бельмеса не понимая, что он делает.
ДАЖЕ не делая попытки разобраться.

я не самый мозговитый. я идиот.
я не дописал в коде одну строчку, и работа встала.
тема закрыта.
все ушлина фронт.