当前位置:Gxlcms > PHP教程 > 对象支持可变吗?

对象支持可变吗?

时间:2021-07-01 10:21:17 帮助过:6人阅读

如题:对象支持可变吗?


回复讨论(解决方案)

对象支持可变

对象支持可变

不行啊
类名支持可变
但对象就是不行

test);    

可变变量是这么用得吗?

class obj{    public $test='测试';  }   $obj2=new obj;  $obj3="obj2";  var_dump($$obj3->test);  
string(4) "测试"

可变变量是这么用得吗?PHP code?1234567class obj{ public $test='测试'; } $obj2=new obj; $obj3="obj2"; var_dump($$obj3->test); string(4) "测试"

多谢版主,可还是不太理解..
变量的可变我知道,一个$代表变量本身的值,二个$表示把变量的值当作变量。
还有函数、类的可变都是通过一个字符来充当它们名字的,而对象为什么还要在前面加上一个$..

那么你自己想想
$obj2=new obj;
var_dump($obj2->test);
该是什么结果?

那么
$obj3="obj2";
var_dump($$obj3->test);
是不是该多一个 $

那么你自己想想
$obj2=new obj;
var_dump($obj2->test);
该是什么结果?

那么
$obj3="obj2";
var_dump($$obj3->test);
是不是该多一个 $

嗯,知道了
如果一个$的话,PHP会直接把自身当作一个对象,通过$obj3去获取其本身的属性,但后来发现$obj3并不是一个对象,而是一个变量,而变量不能直接访问对象的属性,所以要在其前面加上一个$,后来PHP发现又发现$obj2并不单单是一个变量而已,而是大名鼎鼎的对象,所以此时$obj3才是一个对象,然后就获取到了。
哈哈
不知道理解的正确不...
一直不敢自己下结论。。。

理解的正确!

感谢版主,感谢IT民工,感谢CSDN,感谢论坛的发明者,是你们又让我看到了光明,又让我找到了荀活下去的的理由

人气教程排行