2013-01-14 180 views
1

Ive得到了一些產生陣列,並存儲在類似下面的PHP變量變量

$array1 = 4x119 array; 
$array2 = 4x119 array; 
etc .. 
$var1= [ 
"array1", 
"array2", 
etc... 
]; 

另一個數組的變量名,並試圖循環,雖然他們這樣

foreach ($var1 as $loopitem){ 
var_dump($$loopitem[3]); 
} 

我怎樣才能使這個不太模糊?

Currenly IM相當肯定它尋找一個變量調用,而不是在$arr1[3]看上去沒有[3]的變種轉儲返回正確

沒有[3]

 
array(4) { 
    [0]=> 
    array(119) { 

rest of output 

$loopitem[3]內容用[3]

 
NULL 

有什麼建議嗎?

回答

5

您可以使用${$loopitem}[3]使其易讀且無歧義。其實我會總是使用變量變量的語法,因爲$$foo很容易誤解爲$foo

但是,最好不要使用它們,而應該使用數組!

+0

太棒了!那工作。我不能接受答案,但會在時間限制到時。謝謝 ! – exussum

+0

答案的最好部分是避免變量變量!如果可以使用數組的名稱創建單獨的數組,則還可以創建一個包含其他數組的大數組。如果一切都失敗了,請參閱'$ var1 = ['array1'=> $ array1,'array2'=> $ array2,];' – Sven