永发信息网

菜鸟学php,不明白,求大神解释!关于$this->

答案:2  悬赏:60  手机版
解决时间 2021-01-30 07:34
  • 提问者网友:浩歌待明月
  • 2021-01-29 13:41
class Person{
private $name;
private $sex;
private $age;

private function __get($property_name)
{
if(isset($this->$property_name)) //就是这里不懂!!!为什么有的程序是$this->$property_name,有的是$this->property_name.我的意思就是为啥有的$this->后面还有“$”符号,有的却没有。有和没有分别代表什么?
{
return($this->$property_name);
}else {
return(NULL);
}
}

private function __set($property_name, $value)

{
$this->$property_name = $value;
}

private function __isset($nm)
{
echo "isset()函数测定私有成员时,自动调用
";
return isset($this->$nm);
}

private function __unset($nm)
{
echo "当在类外部使用unset()函数来删除私有成员时自动调用的
";
unset($this->$nm);
}
}
$p1=new Person();
$p1->name="this is a person name";

echo var_dump(isset($p1->name))."
";
echo $p1->name."
";

unset($p1->name);
echo $p1->name;
?>
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-01-29 14:30
$this代表对象本身引用。$this->property_name 表示 该对象下名称为property_name的属性引用。
$this->$property_name 即 $this->{$property_name} ,表示对象下$property_name变量值的属性引用
全部回答
  • 1楼网友:第幾種人
  • 2021-01-29 15:06
期待看到有用的回答!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯