Re: Rewind foreach loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



$keys = array_values($array);
for ($i=0; $i<count($keys); $i++) {
    if ($keys[$i] == 5)
        $i -= 2;
}

Untested, but should work.

On Nov 29, 2007, at 7:13 PM, Chris <dmagick@xxxxxxxxx> wrote:

Jeffery Fernandez wrote:
On Fri, 30 Nov 2007 02:01:47 pm Chris wrote:
Jeffery Fernandez wrote:
Hi all,

Is it possible to rewind a foreach loop? eg:


$numbers = array(0,1,2,3,4,5,6,7,8,9,10);

foreach ($numbers as $index => $value)
{
       if ($value == 5)
       {
               prev($numbers);
       }
       echo "Value: $value" . PHP_EOL;
}

The above doesn't seem to work. In one of my scenarios, when I encounter
and error in a foreach loop, I need the ability to rewind the array
pointer by one. How can I achieve this?
echo $numbers[$index-1] . PHP_EOL;
That will only give me the value of the previous index. What I want is to rewind the array pointer and continue with the loop.

and you're going to be in an endless loop then.. because each time it gets rewound, it gets the same key again and rewinds and ...

You could do it with a for or while loop probably.

What are you trying to achieve? Maybe there's an alternative.

--
Postgresql & php tutorials
http://www.designmagick.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux