为什么加了echo“hello"后,hello会夹在二个词中间
<?php
class Car {
    function __construct(){
        print "构造";
    }
    function __destruct(){
        print "析构";
    }
    //增加构造函数与析构函数
}
$car = new Car();
echo "hello";
这样的结果是    “构造hello析构”  为什么不是"构造析构hello",有构造函数的类创建实例化对象后会直接调用,调用后会删除这个对象,这是析造函数会自动调用,那不是应该“构造跟析造”这二个词紧贴在一起的吗,为什么会“析造”会在hello的后面,请大神详解啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    你的创建对象
    $car = new Car();
    是在页面的全局变量,只有在页面代码都执行完毕之后才会释放,并执行析构函数;如果你是在函数中创建$car对象的话,只要函数完毕就会执行析构,如
    $g = new Car();
    function a(){
      $f = new Car();
    }
    a();//a执行完成之后$f就会释放
    //$g 需要在页面最后一句代码都执行完毕之后才会释放
      

  2.   

    你可以去复习一下PHP对象的生命周期吧