foreach.....help

micolo

Новичок
foreach.....help

Привет всем!
Как в конструкции:
PHP:
foreach($micolo as $key => $value)
{
....
}
получить значение предыдущео вхождения
 

D4RK 4NG3L

Новичок
А можно попонятней, привиде в пример часть того что цикл делает + входной массив.
 

micolo

Новичок
я имел ввиду не текущее значение
PHP:
$prev_key=$key;
а значение которое было до этого
 

kvf77

Red Devil
micolo

а головой подумать сложно? чтобы его получить надо его сохранить - разве нет?

$last = '';

foreach($micolo as $key => $value)
{
.....

$last=$value;
}

-~{}~ 21.10.05 14:29:

chisto_tolyan

причем тут FOR?
 

lucika

Новичок
Возникают интересные вопросы:
1) зачем?
2) какое предыдущее значение будет для первого элемента
 

kvf77

Red Devil
lucika

а поглядеть на скрипт и догадаться? оно будет empty()

что значит "зачем"?
 

The Ghost

Новичок
$masiv = Array();
$i = 1;

foreach ($micolo as $key => $value)
{
$masiv[$i] = $key => $value;
...
$last = $masiv[($i-1)];
$i++;
}
 

Фанат

oncle terrible
Команда форума
The Ghost
а смысл в этой конструкции если выше уже написали проще?
 

micolo

Новичок
народ, возвращаясь к нашим "баранам" :)
появилась необходимость узнать внутри foreache какой элемент был за 2 элемента до этого. попробывал скрипт
PHP:
$masiv = Array();
$i = 1;

foreach ($micolo as $key => $value)
{
$masiv[$i] = $key => $value;
...
$last = $masiv[($i-2)];
$i++;
}
ругается на строку
PHP:
$masiv[$i] = $key => $value;
где тут баг
 

micolo

Новичок
ну судя по примеру The Ghost который был описан выше

в этом массив загоняется значения
PHP:
$value
c индексом, что бы в дальнейшем через этот индек производить отсчёт элементов, если я правино понял :)
 

Фанат

oncle terrible
Команда форума
ой!
и правда.
как это я такую тупость пропустил.

ну спьяну человек писал. или по обкурке.
а ты сразу в рот тягать.

тебе kvf77 код дал? Чем он тебя не устраивает?

-~{}~ 27.10.05 10:52:

зачем тебе вообще эти предыдущие понадобились?
 

micolo

Новичок
просто в том коде вытаскивается предудущий элемент, а мне нужно за 2 элемента до этого
 

Фанат

oncle terrible
Команда форума
зачем тебе это?

кто тебе мешает сделать ПО АНАЛОГИИ?
 

micolo

Новичок
для особо одарённых, то бишь для меня как можно по аналогии сделать чтобы получить элемент в массиве который был за 2 элемента до текущего
 

kvf77

Red Devil
micolo

$last = '';

foreach($micolo as $key => $value)
{
.....

$last_last = $last;
$last=$value;
}

P.S. Спросишь про третий элемент - убью!
 

white phoenix

Новичок
Ребята, не тупите. Можно хоть до 100ого назад. [m]array_keys[/m]. Вот пример:
PHP:
$keys = array_keys($micolo);
$i = 0;
foreach($micolo as $k=>$v)
{
 //....
 echo "Предыдущий: ".$micolo[$keys[$i-1]]."<br>";
 echo "Два назад: ".$micolo[$keys[$i-2]]."<br>";
 $i++;
}
 
Сверху