首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$object->lol和$object->$lol之间的区别

$object->lol和$object->$lol之间的区别
EN

Stack Overflow用户
提问于 2013-02-11 18:51:18
回答 5查看 130关注 0票数 1

我对这两种代码感到困惑,想知道它们之间的区别是什么:

代码语言:javascript
复制
$object->$lol
// and
$object->lol
EN

回答 5

Stack Overflow用户

发布于 2013-02-11 18:56:23

$object->lol将指向object类中定义的某些属性:

代码语言:javascript
复制
class SomeClass {
    public $lol = 'some value';
}

$object = new SomeClass();
echo $object->lol; //will yield 'some value'

$object->$lol将指向object类中定义的某些属性,但将根据$lol的值访问正确的属性

代码语言:javascript
复制
class SomeClass {
    public $lol = 'some value';
    public $random = 'random value';
}

$lol = 'random';

$object = new SomeClass();
echo $object->lol; //will yield 'some value'
echo $object->$lol; //will yield 'random value'
票数 4
EN

Stack Overflow用户

发布于 2013-02-11 18:56:26

$object->lol$object对象上访问名为lol的实例变量。

$object->$lol访问与$lol变量中包含的名称相同的实例变量。它还可以在$object对象上访问。

票数 3
EN

Stack Overflow用户

发布于 2013-02-11 18:56:36

AFAIK,它的工作原理与以下相同:

代码语言:javascript
复制
$var  = "var2";
$var2 = "hello world";
echo $$var; // This returns "hello world"

因此,我假设$object->$lol为您提供了带有$lol变量名称的变量。

Here is some more info about this...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14810692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档