modifying within foreach
| From: | Andres Gonzalez | Date: | Tue, 23 Jun 2009 18:26:38 +0000 |
| Subject: | modifying within foreach | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-294465@lists.php.net to get a copy of this message | ||
In the following example:
foreach ($results as $key => $item) {
//bla bla bla -- unset some of the $items
}
I want to modify $results within the foreach. In other words,
during a given pass of this iteration, I want to delete some
of the items based on particular conditions. Then on the next
pass thru the foreach, I want $results to be the newer, modified
array.
This does not seem to work. It appears that the foreach statement
is implemented such that $results is read into memory at the start
so that any modifications I make to it during a given pass, are ignored
on the next pass. Is this true?
If so, is there a way that I can tell the foreach statement to re-read the
array $results? Or am I just going against the grain here?
-Andres