> 백엔드 개발 > PHP 튜토리얼 > 对象支持可变吗?

对象支持可变吗?

WBOY
풀어 주다: 2016-06-23 14:06:46
원래의
788명이 탐색했습니다.

如题:对象支持可变吗?


回复讨论(解决方案)

对象支持可变

对象支持可变

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿