以下語法的解釋是什麼?
$var1->$var2 // Note the second $
以下語法的解釋是什麼?
$var1->$var2 // Note the second $
您正在致電$var1
上與的值相同的屬性。
例如:
$var2 = "name";
// The following are equivalent
$var1->name;
$var1->$var2;
$var1
是一個對象。
$var2
(可能)是$var1
中的變量的名稱。
如果$var2="test";
這被評估爲:
$var1->test;
你可以用各種各樣的東西做到這一點:
$test = array();
$name="test";
print_r($$name); // Prints array();
$test = new stdClass;
$test->hello = "hi";
$name2="hello";
echo $test->$name2; // Echos hi
你甚至可以得到真正看中的:
echo $$name->$name2; // Echos hi
什麼是雙美元符號? – CodyBugstein 2013-03-17 22:18:15
@Imray http://php.net/manual/en/language.variables.variable.php – 2013-03-18 04:04:21
你可以用一個else包含一個get/post的例子嗎? – 2015-11-07 20:27:05
它意味着動態查詢對象中的屬性。
class A {
public $a;
}
// static property access
$ob = new A;
$ob->a = 123;
print_r($ob);
// dynamic property access
$prop = 'a';
$ob->$prop = 345; // effectively $ob->a = 345;
print_r($ob);
所以$var1
是一些對象的一個實例,->
裝置訪問該對象的一個成員和$var2
包含一個屬性的名稱。
感謝所有的答案! – eft 2010-02-23 06:00:50