比方說,我有我用它來創建變量變量字符串數組:是不同的PHP變量的變量解析爲相同的變量名稱相同的變量?
$var_arr = ["item1", "item2", "item3"];
foreach ($var_arr as $item) {
$$item = array();
}
然後在我的代碼的其他地方我有一個基於不同的數據源上重新創建變量變量:
$user_input = [ "prod1" => "widget", "qty1" => 3, "prod2" => "thingy", "qty2" => 1, "prod3" => "dingus", "qty3" => 7 ];
foreach ($user_input as $key => $value) {
$a = "item" . substr($key, -1);
array_push($$a, $value);
}
$$ item和$$是同一個變量,還是它們引用不同的內存塊?
$$ item'創造' $ item1'。 '$$ a'會覆蓋'$ item1',因爲它具有相同的名稱。我認爲這與你正在做的https://eval.in/840949(或https://eval.in/840950,因爲你正在追加)大致相同 – chris85
感謝@ chris85作爲演示。它幫助我們看到了一個可行的例子! –