我对这两种代码感到困惑,想知道它们之间的区别是什么:
$object->$lol
// and
$object->lol发布于 2013-02-11 18:56:23
$object->lol将指向object类中定义的某些属性:
class SomeClass {
public $lol = 'some value';
}
$object = new SomeClass();
echo $object->lol; //will yield 'some value'$object->$lol将指向object类中定义的某些属性,但将根据$lol的值访问正确的属性
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'发布于 2013-02-11 18:56:26
$object->lol在$object对象上访问名为lol的实例变量。
$object->$lol访问与$lol变量中包含的名称相同的实例变量。它还可以在$object对象上访问。
发布于 2013-02-11 18:56:36
AFAIK,它的工作原理与以下相同:
$var = "var2";
$var2 = "hello world";
echo $$var; // This returns "hello world"因此,我假设$object->$lol为您提供了带有$lol变量名称的变量。
Here is some more info about this...
https://stackoverflow.com/questions/14810692
复制相似问题