Rumah > pembangunan bahagian belakang > tutorial php > 对象支持可变吗?

对象支持可变吗?

WBOY
Lepaskan: 2016-06-23 14:06:46
asal
790 orang telah melayarinya

如题:对象支持可变吗?


回复讨论(解决方案)

对象支持可变

对象支持可变

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

<?php  class obj{    public $test='测试';  }  $obj2=new obj;  $obj3="obj2";  var_dump($obj3->test);    
Salin selepas log masuk

可变变量是这么用得吗?

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan