PHP 4.0 Bug #9794: array_keys resets the array pointer and can not be used when looping

From: Date: Fri, 16 Mar 2001 17:13:24 +0000
Subject: PHP 4.0 Bug #9794: 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-49085@lists.php.net to get a copy of this message
From: danbeck@dealnews.com Operating system: linux 2.2.16 PHP version: 4.0.4pl1 PHP Bug Type: Scripting Engine problem Bug description: array_keys resets the array pointer and can not be used when looping 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? -- Edit Bug report at: http://bugs.php.net/?id=9794&edit=1

« previous php.dev (#49085) next »