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!
我正在努力学习构造和破坏。 所以,我做了这个
<?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!