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

Reply via email to