ID: 30332
Updated by: [EMAIL PROTECTED]
Reported By: justmanj at msu dot edu
-Status: Assigned
+Status: Closed
Bug Type: Zend Engine 2 problem
Operating System: *
PHP Version: 5.* (2005-04-29)
Assigned To: andi
New Comment:
Fixed in CVS HEAD and PHP_5_0.
Previous Comments:
------------------------------------------------------------------------
[2005-04-16 01:46:06] [EMAIL PROTECTED]
Pushing back to Andi (would like to assign to Zeev too but..)
------------------------------------------------------------------------
[2005-04-13 09:48:21] justmanj at msu dot edu
tested with:
PHP 5.1.0-dev (cli) (built: Apr 13 2005 08:33:33)
Copyright (c) 1997-2005 The PHP Group
Zend Engine v2.1.0-dev, Copyright (c) 1998-2004 Zend Technologies
zend.ze1_compatibility_mode => On => On
produces:
C:\php5-win32-latest>php c:\web\ze1_test.php
x Object
(
[first] => im in the first
)
x Object
(
)
Array
(
[0] => x Object
(
[first] => im in the first
)
)
which is not the design of php4
j
------------------------------------------------------------------------
[2004-10-05 23:35:12] justmanj at msu dot edu
Description:
------------
zend.ze1_compatibility_mode when turned on doesn't honor the same
methodlogy as 4.x when passing a class for some parameters - it passes
by reference in functions like array_push();
this behavior was not in 4.3.x, and the only workaround is the clone
keyword, which should be added in the 4.3.x tree for backwards
compatability.
Reproduce code:
---------------
<?
class x { };
$first = new x;
$second = $first;
$container = array();
array_push($container, $first);
$first->first = " im in the first";
print_r($first);
print_r($second);
print_r($container);
Expected result:
----------------
x Object
(
[first] => im in the first
)
x Object
(
)
Array
(
[0] => x Object
(
)
)
Actual result:
--------------
x Object
(
[first] => im in the first
)
x Object
(
)
Array
(
[0] => x Object
(
[first] => im in the first
)
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30332&edit=1