我正在尝试创建一个二维数组,从(大)met文件中读取特定值。数组是空的,我不知道为什么。我有以下数组:
$varmet = array('tasmax', 'tasmin', 'pr', 'clt');
我有两个循环:
首先是
for ($j = 0; $j <= 3; $j++) {
...
我读取了相应的文件和变量等。它工作正常。
然后我有另一个循环
for ($i = 1; $i <= 360; $i++) {
....
$valor = $valor * $correctp;
它工作得很好,在$valor中检索所需的值
当我想根据 met 变量将值存储在不同的数组中时,会出现问题:
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
等没有价值,尽管$valor确实有。此外,如果我在循环中分配数组(即 $valorest[$j][$i] = $valor
)它仍然具有值,但不在其之外。
有人知道我做错了什么吗?
像这样尝试
$tmax = array(); //declare this outside the loop i.e before the loop starts
在开关大小写语句中,替换以下行
$tmax[$i] = $valor;
跟
array_push($tmax,$valor);