PHP 4.0 Bug #9794 Updated: array_keys resets the array pointer and can not be used when looping
| From: | sniper@php.net | Date: | Fri, 16 Mar 2001 17:29:43 +0000 |
| Subject: | PHP 4.0 Bug #9794 Updated: array_keys resets the array pointer and can not be used when looping | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-49089@lists.php.net to get a copy of this message | ||
ID: 9794
Updated by: sniper
Reported By: danbeck@dealnews.com
Old-Status: Open
Status: Assigned
Bug Type: Scripting Engine problem
Assigned To: andrei
Comments:
I'll fix this problem soon. It's even in the TODO.
(on behalf of Andrei..so that he doesn't forget this.. :)
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2001-03-16 12:13:24] danbeck@dealnews.com
The following code is broken:
$arr = array("a", "b", "c");
foreach ($arr as $a) {
echo "$a<BR>n";
echo max(array_keys($arr));
}
It stops after the first array element because array_keys resets the array pointer. (Or at least
it's moved to the end...)
This is sort of a (repectful) complaint that I have about PHP and they way it's been written.
Arrays are systematically prostituted by the array functions because each one of them sees fit to
reset the array pointer instead of just working off of a copy, or at the very least, returning the
array pointer to it's previous state.
Is there some reason that the array pointer can't be returned to it's previous state after
the array functions are finished with it?
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9794&edit=2