AddBrainHandler x-httpd-php5 .php On Tue, Jun 23, 2009 at 4:25 PM, Robert Cummings <rob...@interjinn.com>wrote:
> Ashley Sheridan wrote: > >> On Tue, 2009-06-23 at 15:07 -0400, Eddie Drapkin wrote: >> >>> It's just foreach($foo as $key => &$item) { } >>> >>> You can't assign the key by reference >.> >>> >>> On Tue, Jun 23, 2009 at 3:04 PM, Ashley >>> Sheridan<a...@ashleysheridan.co.uk> wrote: >>> >>>> On Tue, 2009-06-23 at 12:56 -0600, kirk.john...@zootweb.com wrote: >>>> >>>>> Andres Gonzalez <and...@packetstorm.com> wrote on 06/23/2009 12:26:38 >>>>> PM: >>>>> >>>>> 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? >>>>>> >>>>> foreach works on a copy of an array, so the behavior you saw is >>>>> expected. >>>>> See the online manual. >>>>> >>>>> You could use a while loop, or, instead of unset-ing elements of >>>>> $results, >>>>> store the elements you want to keep into a new array. >>>>> >>>>> Kirk >>>>> >>>> What about passing it by reference? >>>> >>>> foreach($results as &$key => &$item) >>>> { >>>> // modify items here >>>> } >>>> >>>> Thanks >>>> Ash >>>> www.ashleysheridan.co.uk >>>> >>>> >>>> -- >>>> PHP General Mailing List (http://www.php.net/) >>>> To unsubscribe, visit: http://www.php.net/unsub.php >>>> >>>> >>>> >> Yeah, hehe, I was trying to remember off the top of my head, and >> obviously forgot! :p >> >> *slaps self* >> > > Your brain is in PHP4 mode... > > *slaps Ashley* > > >:) > > Cheers, > Rob. > -- > http://www.interjinn.com > Application and Templating Framework for PHP > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Martin Scotta