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

From: 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

« previous php.dev (#49089) next »