Re: foreach / unset
| From: | Brent Baisley | Date: | Fri, 28 Oct 2005 12:33:47 +0000 |
| Subject: | Re: foreach / unset | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-224771@lists.php.net to get a copy of this message | ||
The foreach statement works because you are getting the array index ($k) to unset the array item. I think somewhere in the manual it says it's unsafe because some people might think you could just use unset($v) to unset the array item. Which wouldn't work because $v is more of a temporary variable and not a reference to the array item.
On Oct 27, 2005, at 6:18 PM, 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]); } 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. :-) --Like Music? http://l-i-e.com/artists.htm --PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php-- Brent Baisley Systems Architect Landover Associates, Inc. Search & Advisory Services for Advanced Technology Environments p: 212.759.6400/800.759.0577