ID: 35063 Comment by: phpdev at citromail dot hu Reported By: dave dot newman at codegate dot co dot uk Status: Assigned Bug Type: Arrays related Operating System: Windows XP PHP Version: 4CVS-2005-11-02 (CVS) Assigned To: ilia New Comment:
I myself also noticed this bug when I installed the news 4.4.1 release this morning. 4.4.0 worked fine, but 4.4.1 is broken. This bug should be fixed ASAP as this affects (breaks) primary functions of PHP and there's no workaround for it. Previous Comments: ------------------------------------------------------------------------ [2005-11-02 10:20:40] dave dot newman at codegate dot co dot uk Description: ------------ I call a function with a reference to an array and an object. I then add the object to the end of the array. When I then use end() and key() to get the key of the the object just added to the array key() always returns 0 rather than the actual key value. Reproduce code: --------------- function addToArray(&$array, $obj) { $array[] = $obj; print_r($array); end($array); print 'last key = '.key($array).'<hr/>'; } print '<pre>'; $array = array(); for ($a=0; $a<5; $a++) addToArray($array, array($a=>$a)); print '</pre>'; Expected result: ---------------- I expect it to print to the screen an array dump followed by the last key value in the array 5 times (seperated by <hr>). I add an object to the array each time, so the last key value displayed should go from 0 to 4. Actual result: -------------- the last key value is always 0 rather than the actual last key value. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35063&edit=1