ID: 27381 Updated by: [EMAIL PROTECTED] Reported By: abk at avatartechnology dot com -Status: Feedback +Status: Closed Bug Type: Arrays related Operating System: Win 2K pro PHP Version: 4.3.4 New Comment:
This was already fixed some time ago. Previous Comments: ------------------------------------------------------------------------ [2004-02-26 00:38:02] postings-php-bug at hans-spath dot de I can't reproduce this under Windows XP (CLI) or Linux (Apache2 module). Version 4.3.4. ------------------------------------------------------------------------ [2004-02-24 14:26:34] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Works fine for me... ------------------------------------------------------------------------ [2004-02-24 13:25:56] abk at avatartechnology dot com Description: ------------ Unsetting an element of an array unsets that element in copies of the array. This does not happen if you change the array or its copy in some other way after making the copy and before doing the unset. I haven't tested whether this affects other non-atomic types like objects, but it wouldn't surprise me if it does. My educated guess is there is some copy-on-write optomization that (wrongly) does not consider "unset" to be a write. Reproduce code: --------------- $x = array(1,2); $y = $x; # uncommenting the next line "fixes" the bug: #$x[0] = $x[0]; unset($x[0]); print_r($y); Expected result: ---------------- Array(0=>1,1=>2) Actual result: -------------- Array(1=>2) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27381&edit=1
