PHP 类 和对象构造和析构

PHP Classes and Objects construct and destruct

我正在努力学习构造和破坏。 所以,我做了这个

<?php 

class Numbers {

    public function __construct($numberint,$numbername,$numberletter,$numberpos) {
        $this->numberint = $numberint;
        $this->numbername = $numbername;
        $this->numberletter = $numberletter;
        $this->numberpos = $numberpos;
    }

    public function __destruct() {
        unset($this->numberpos);
    }
}

$number1 = new Numbers(1,"One","A",0);
print_r($number1);

?>

如您所见,我创建了 class 数字,然后对对象使用构造。但是在构建之后,我想使用 destruct,在这种情况下,unset numberpos。我试图将它们放在一起以了解其工作原理。 任何人都可以帮助我吗?

我的想法是改变结果:

Numbers Object ( [numberint] => 1 [numbername] => One [numberletter] => A [numberpos] => 0 ) 

到...

Numbers Object ( [numberint] => 1 [numbername] => One [numberletter] => A ) 

谢谢,记住我在学习 :D

析构函数用于销毁整个对象,而不是对象的一部分。如果你想要你想要的输出,你可以这样做:

$number1 = new Numbers(1,"One","A",0);
print_r($number1);

unset($number1->numberpos);
print_r($number1);

Demo.

如果你想看到你的析构函数被调用,取消设置对象:

class Numbers {
    public function __destruct() {
        echo "Destructing!\n";
    }
}

$number1 = new Numbers();
unset($number1);

echo "Done!";

输出:

Destructing!
Done!