2012-05-02 54 views
0

我想創建一個2維數組,從(大)met文件讀取特定值。數組是空的,我不知道爲什麼。 我有以下陣列:無法檢索分配循環之外的PHP數組

$varmet = array('tasmax', 'tasmin', 'pr', 'clt');

我有兩個循環:

首先是

for ($j = 0; $j <= 3; $j++) { 
... 

我讀了相應的文件和變量等,工作正常。

然後,我有另外一個迴路根據

for ($i = 1; $i <= 360; $i++) { 
.... 
$valor = $valor * $correctp; 

它完美,檢索在$英勇所需的值

時,我想存儲在不同的陣列價值的問題出現,會見變量:

switch ($j) { 
case 0: 
    $tmax[$i] = $valor; 
break; 
case 1: 
    $tmin[$i] = $valor; 
break; 
case 2: 
    $prec[] = $valor; 
break; 
case 3: 
    $clt[$i] = $valor; 
break; } // Fin del switch 

    } // Fin del for para un fichero met 
} // Fin del for para todas las varmet 

$tmax$tmin等沒有任何價值,雖然$勇氣確實有。此外,如果我在循環中分配數組(即$valorest[$j][$i] = $valor),它仍然具有值,但不在其外部。

有人知道我在做什麼錯嗎?

+4

更換以下行

$tmax[$i] = $valor; 

請告訴我們您的完整代碼,不僅點點滴滴。 – deceze

+0

像@deceze說的那樣做 –

回答

1

嘗試這樣

$tmax = array(); //declare this outside the loop i.e before the loop starts 

在開關case語句,與

array_push($tmax,$valor);