我有一大堆的陣列,它們存儲在像$需要,$保留等不同變量...PHP - 可變的變量和array_merge() - 不工作
我想允許(內函數)要傳遞的選項數組(如$options = array('required', 'reserved')
),然後將使用該數組來定義將哪些數組合並在一起並在函數結尾處返回。
所以,我有這樣的代碼在功能的一部分,應該抓住所有的選項和合並的陣列,使用可變變量來從選項數組中傳遞的字符串)數組:
$array = array();
foreach ($options as $key) {
$array_to_merge = ${$key};
array_merge($array, $array_to_merge);
}
return $array;
但是,當我返回$數組時,它顯示0個項目。如果我print_r($array_to_merge);
,我實際上得到整個陣列,我應該。
是否array_merge()根本不能用於變量變量,還是我在這裏丟失了一些東西......?
您是否試過'array_push()'而不是?我已經使用過它,並取得了很多成功。 – 2011-06-09 17:23:19
變量變量最好避免在腳本中使用,因爲它們可以創建一個難以調試的混淆。如果像這樣的事情是相關的,你通常更好的定義他們作爲一個數組與他們的名字作爲索引。 – Wrikken 2011-06-09 17:30:21