首页 > 代码库 > PHP学习笔记十九【析构函数】

PHP学习笔记十九【析构函数】

<?php   class Person{     public $name;     public $age;          public function __construct($iname,$iage)     {       $this->name=$iname;       $this->age=$iage;     }     //定义一个析构函数 两个下划线  ,析构函数在对象被释放的时候会自动调用     //最先被创建最后被销毁,因为是放入栈中,栈是先进后出     //析构函数调用的时机     //1.当程序(进程结束)退出时     //2.当一个对象成为垃圾对象(没有任何变量再引用它,或是变为null)的时候,该对象的析构函数会自动调用     public function __destruct()     {       echo  $this->name."销毁资源<br/>";     }   }   $p1=new Person("张三",5);      $p1=null;//一旦没有引用就会被回收,所以这个时候$p1的析构函数会先被调用   $p2=new Person("李四",6)    $p3=new Person("李六",6)            /*    $p1=new Person("张三",5);   $p4=$p1;   $p1=null;//如果是这样那么$p1会最后被回收,因为$p4有引用它,所以它还没成为垃圾对象   $p2=new Person("李四",6)    $p3=new Person("李六",6)        */?>

 

PHP学习笔记十九【析构函数】