As far as I have seen, Sara added the needed content to the foreach docs.
Is there anything else you would like to add?

Goba

> Please don't close assigned bugs, I was working on this.
>
>
> On 30 Nov 2002 [EMAIL PROTECTED] wrote:
>
> >  ID:          8353
> >  Updated by:  [EMAIL PROTECTED]
> >  Reported By: [EMAIL PROTECTED]
> > -Status:      Open
> > +Status:      Closed
> >  Bug Type:    Documentation problem
> >  PHP Version: 4.4.0-dev
> >  Assigned To: philip
> >  New Comment:
> >
> > This bug has been fixed in CVS.
> >
> > In case this was a PHP problem, snapshots of the sources are packaged
> > every three hours; this change will be in the next snapshot. You can
> > grab the snapshot at http://snaps.php.net/.
> >
> > In case this was a documentation problem, the fix will show up soon at
> > http://www.php.net/manual/.
> >
> > In case this was a PHP.net website problem, the change will show
> > up on the PHP.net site and on the mirror sites in short time.
> >
> > Thank you for the report, and for helping us make PHP better.
> >
> > Modified Note re: "Works on a Copy"
> >
> >
> > Previous Comments:
> > ------------------------------------------------------------------------
> >
> > [2002-11-28 11:42:45] [EMAIL PROTECTED]
> >
> > The foreach() page will be updated and made more clear on this
> > behavior.  Regarding the pointer, foreach() indeed behaves like
> > while/each() (except for the initial reset) and moves the pointer past
> > the end.  So although it provides a copy to work with it still affects
> > the original arrays pointer!
> >
> > ------------------------------------------------------------------------
> >
> > [2002-11-27 10:32:33] [EMAIL PROTECTED]
> >
> > As I've been taught, foreach doesn't affect the pointer as it merely
> > works on a copy.  Also, the following note exists in the foreach()
> > entry of the manual and has for over two years:
> >
> > Note:  Also note that foreach operates on a copy of the specified
> > array, not the array itself, therefore the array pointer is not
> > modified as with the each()  construct and changes to the array element
> > returned are not reflected in the original array.
> >
> > That was added by Sterling here:
> >
> >
http://cvs.php.net/diff.php/phpdoc/en/language/control-structures.xml?login=
2&r1=1.9&r2=1.10&ty=h
> >
> > Everyone assumes foreach works on a copy and only a copy.  IMHO each()
> > isn't a fair comparison because it doesn't work on a copy.
> >
> > ------------------------------------------------------------------------
> >
> > [2002-11-24 23:10:40] [EMAIL PROTECTED]
> >
> > IMO this is not a bug. Foreach works virtually like while + each
> > combination, with a few exceptions such as not requiring a reset()
> > prior to execution since it does not care about the current position in
> > the array.
> > As far as current(), next() and simular are concerned,
> > while (each($arr)); == foreach ($arr as $v);, once the loops are
> > complete current() will return FALSE. This IMO is a consistent
> > behaviour and is definately not a bug. I believe this is merely a
> > documentation issue.
> >
> > ------------------------------------------------------------------------
> >
> > [2002-11-21 15:21:34] [EMAIL PROTECTED]
> >
> > foreach essentially REMOVES the array pointer alltogether on the
> > original array.
> >
> > $arr = array('a','b'); foreach ($arr as $v); var_dump( current($arr)
> > );
> > $arr = array('a','b'); foreach ($arr as $v); reset($arr); var_dump(
> > current($arr) );
> >
> > Results:
> > bool(false)
> > string(1) "a"
> >
> > Using key() instead of current() results in NULL instead of false.
> > Where did the pointer go?
> >
> > Conclusion:
> > Either foreach() has a feature that removes the array pointer from the
> > original array or it's a bug.  If it's seen as a feature please explain
> > why so it can be documented.
> >
> > ------------------------------------------------------------------------
> >
> > [2001-03-09 21:32:57] [EMAIL PROTECTED]
> >
> > no feedback.
> >
> >
> > ------------------------------------------------------------------------
> >
> > The remainder of the comments for this report are too long. To view
> > the rest of the comments, please view the bug report online at
> >     http://bugs.php.net/8353
> >
> > --
> > Edit this bug report at http://bugs.php.net/?id=8353&edit=1
> >
> >
> > --
> > PHP Documentation Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>
>
> --
> PHP Documentation Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



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

Reply via email to