camka
не самка
php5 и class suicide
Этот скрипт выводит живой объект аа.
Этот же код успешно убивает объект аа.
Объяснить пожалуйста в чем разница? ссылка то вроде как на один и тот же объект, но в одном случае он удаляется, в другом остается.
PHP:
<?php
class aa
{
public $prop = null;
function zz()
{
$this->prop = &$this;
$this->prop = null;
}
}
$aa = new aa();
echo '<pre>';
var_dump($aa);
$aa->zz();
var_dump($aa);
?>
Код:
object(aa)#1 (1) {
["prop"]=>
NULL
}
object(aa)#1 (1) {
["prop"]=>
NULL
}
PHP:
<?php
class aa
{
public $prop = null;
function zz()
{
//$this->prop = &$this;
$this->prop = null;
}
}
$aa = new aa();
$aa->prop = &$aa;
echo '<pre>';
var_dump($aa);
$aa->zz();
var_dump($aa);
?>
Код:
object(aa)#1 (1) {
["prop"]=>
object(aa)#1 (1) {
["prop"]=>
*RECURSION*
}
}
NULL
Объяснить пожалуйста в чем разница? ссылка то вроде как на один и тот же объект, но в одном случае он удаляется, в другом остается.