#30332 [Asn->Fbk]: zend.ze1_compatibility_mode isnt fully compatable with array_push()
| From: | sniper@php.net | Date: | Fri, 25 Mar 2005 00:33:01 +0000 |
| Subject: | #30332 [Asn->Fbk]: zend.ze1_compatibility_mode isnt fully compatable with array_push() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-77185@lists.php.net to get a copy of this message | ||
ID: 30332
Updated by: sniper@php.net
Reported By: justmanj at msu dot edu
-Status: Assigned
+Status: Feedback
Bug Type: Zend Engine 2 problem
Operating System: winxp
PHP Version: 5.0.2
Assigned To: andi
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[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