PHP规范问题!! 求解决! 一般求属性值是:$this->name; 也就是name之前不需要$;
但是我在设置私有属性的接口的函数中发现$this->$name;这样的形式!测试也没有错误,去掉$也没有错误!晕了,哪种才是规范!资料中没查到!!...
但是我在设置私有属性的接口的函数中发现$this->$name;这样的形式!测试也没有错误,去掉$也没有错误!晕了,哪种才是规范!资料中没查到!!
展开
1个回答
2013-08-17
展开全部
规范是没有$。$this->name是在类里面使用的,name是类的属性,加上$就是函数的属性,可是$this->$name返回的是以$和$name的值组合成的变量名(这个变量指向类的变量)。如果你这样测试没有错误,那么请看看你函数里面的$name的值是不是"name",如果是,那自然也就能调用到类里面名为"name"的变量。至少在我的测试中,没有发现除了这种情况还不出错的。
例子:
class A{
private $name="nice girl";
function func($name="name"){
echo $this->name; echo $this->$name; echo $name;
}
}
实例化对象我就不多写了,反正这个函数执行下去,输出的就是nice girlnice girlname。但是若更改函数的变量值,那就应该出错,
例子:
class A{
private $name="nice girl";
function func($name="name"){
echo $this->name; echo $this->$name; echo $name;
}
}
实例化对象我就不多写了,反正这个函数执行下去,输出的就是nice girlnice girlname。但是若更改函数的变量值,那就应该出错,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询