-1
我知道
$b = 1;
$var = "b";
$$var = 2;
echo $b;
將顯示2
但是,當我嘗試在陣列,它失敗
$c[1] = 1;
$var = "c[1]";
$$var = 2;
echo $c[1];
$d[1] = 1;
$var = "d";
$$var[1] = 2;
echo $d[1];
,他們都表現出1,爲什麼?
我知道
$b = 1;
$var = "b";
$$var = 2;
echo $b;
將顯示2
但是,當我嘗試在陣列,它失敗
$c[1] = 1;
$var = "c[1]";
$$var = 2;
echo $c[1];
$d[1] = 1;
$var = "d";
$$var[1] = 2;
echo $d[1];
,他們都表現出1,爲什麼?
在你的第一個例子中,你不能使用索引,因爲它被假定爲變量名的一部分。
第二,您需要使用花括號來複雜的語法來消除歧義。這樣PHP知道它是$d[1]
的內容,而不是$var[1]
的內容。
$d[1] = 1;
$var = "d";
${$var}[1] = 2;
echo $d[1];
對於變量名稱,不能對數組索引使用變量變量。 – Rizier123
請告訴我你爲什麼這樣做? – schellingerht
我只想知道$$真的有什麼 – user2925565