#25418 [Bgs]: references on unset vars continue to live
| From: | alexandre dot boyer7 at wanadoo dot fr | Date: | Sun, 07 Sep 2003 20:07:55 +0000 |
| Subject: | #25418 [Bgs]: references on unset vars continue to live | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-47208@lists.php.net to get a copy of this message | ||
ID: 25418
User updated by: alexandre dot boyer7 at wanadoo dot fr
Reported By: alexandre dot boyer7 at wanadoo dot fr
Status: Bogus
Bug Type: Zend Engine 2 problem
Operating System: WIN 2000
PHP Version: 5CVS-2003-09-07 (dev)
New Comment:
I read the doc and i understood the results return, but i don't know
how todispose an object that is referenced by several references. For
example,
if i have 3 references that reference an object in an array, how can i
dispose the object in that array (set it to null) with one of my
references ?
For the moment, i use singleton to achieve it but it's heavy. I think a
free() or dispose() function is needed which destroys an object and set
all references to null;needn't it ?
Regards,
AB
Previous Comments:
------------------------------------------------------------------------
[2003-09-07 14:00:09] derick@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
If you unset() something, you remove the link from the variable name to
the value. All other references still exist, because the variable name
is not the same as the one you unset().
Derick
------------------------------------------------------------------------
[2003-09-07 13:57:38] alexandre dot boyer7 at wanadoo dot fr
Description:
------------
just look at the source code
Reproduce code:
---------------
http://cedalex.phpnet.org/test.html
Expected result:
----------------
Create And Print A1
a Object ( [id] => 914581 )
A2 references A1; ref=1
A3 reference A2; ref=1
A1 unset; print A1
A1 unset; print A2
A1 unset; print A3
Actual result:
--------------
Create And Print A1
a Object ( [id] => 914581 )
A2 references A1; ref=1
A3 reference A2; ref=1
A1 unset; print A1
A1 unset; print A2
a Object ( [id] => 914581 )
A1 unset; print A3
a Object ( [id] => 914581 )
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25418&edit=1