Home > Backend Development > PHP Tutorial > 对象支持可变吗?

对象支持可变吗?

WBOY
Release: 2016-06-23 14:06:46
Original
790 people have browsed it

如题:对象支持可变吗?


回复讨论(解决方案)

对象支持可变

对象支持可变

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

<?php  class obj{    public $test='测试';  }  $obj2=new obj;  $obj3="obj2";  var_dump($obj3->test);    
Copy after login

可变变量是这么用得吗?

class obj{    public $test='测试';  }   $obj2=new obj;  $obj3="obj2";  var_dump($$obj3->test);  
Copy after login
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,感谢论坛的发明者,是你们又让我看到了光明,又让我找到了荀活下去的的理由

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template