Re: foreach / unset

From: Date: Fri, 28 Oct 2005 08:51:30 +0000
Subject: Re: foreach / unset
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-224761@lists.php.net to get a copy of this message
Richard Lynch wrote:
Somewhere in the manual (damned if I can find it now) it says (or used to say) that you can or can't safely do this: while (list($k, $v) = each($array)){ if (...) unset($array[$k]); } I don't even remember if it's safe or not, but I swear I saw it not that long ago... Anyway, can you do *this* safely as a DOCUMENTED FEATURE: foreach($array as $k => $v){ if (...) unset($array[$k]); }
in short: yes. you can unset() in this way till the cows come home and not suffer undue consequences.
I'm sure I could test it and maybe find out if "it works" but is it documented behaviour I can rely on? I'm sure not finding this in the manual now that I go looking for it, though I know I saw it there before. PS I'm being dragged kicking and screaming into using this new-fangled 'foreach' thing instead of while/list/each, and I don't really care for it so far. :-)
if while/list/each & foreach were women, while/list/each would be selling fish on a market stall & foreach would be having her feet massaged while drinking dry martini at 35,000 feet :-) but I guess it's not the done thing to call a language construct sexy ;-)


« previous php.general (#224761) next »