ID: 35063 Updated by: [EMAIL PROTECTED] Reported By: dave dot newman at codegate dot co dot uk -Status: Assigned +Status: Closed Bug Type: Arrays related Operating System: Windows XP PHP Version: 4CVS-2005-11-02 (CVS) Assigned To: ilia New Comment:
This bug has been fixed in CVS. 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/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2005-11-02 14:21:14] phpdev at citromail dot hu 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. ------------------------------------------------------------------------ [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