Php 使用不同键的数组计数

Php 使用不同键的数组计数,php,arrays,math,multidimensional-array,Php,Arrays,Math,Multidimensional Array,我需要的是将这个数组放入一个循环中,但我无法让它工作,因为一周是1-9,关键是0-8。所以我得到了一个未定义偏移量的错误,我知道为什么会这样,但我不知道如何正确地做到这一点 在人们问我为什么不把第一周改为第0周,然后从那里开始计数。我不能,因为我做了一个基于1-52的计算,如果我从0-51开始,它会把我的计算搞砸 $totaal_vruchtzetting_week[10] = $totaal["week1"][0] + // = 0.46

我需要的是将这个数组放入一个循环中,但我无法让它工作,因为一周是1-9,关键是0-8。所以我得到了一个未定义偏移量的错误,我知道为什么会这样,但我不知道如何正确地做到这一点

在人们问我为什么不把第一周改为第0周,然后从那里开始计数。我不能,因为我做了一个基于1-52的计算,如果我从0-51开始,它会把我的计算搞砸

$totaal_vruchtzetting_week[10] = $totaal["week1"][0] + // = 0.46
                                 $totaal["week2"][1] + // = 2.87
                                 $totaal["week3"][2] + // = 4.97
                                 $totaal["week4"][3] + // = 4.35
                                 $totaal["week5"][4] + // = 3.02
                                 $totaal["week6"][5] + // = 2.03
                                 $totaal["week7"][6] + // = 1.41
                                 $totaal["week8"][7] + // = 1.12
                                 $totaal["week9"][8];  // = 1.13

                                 // Should be total 21,36
编辑: 这是我到现在为止得到的循环,但它给了我错误的答案加上2个错误

    for($week = 1; $week < 9; $week++)
    {
        for($sw = 0; $sw <= 8; $sw++)
        {
            $totaal_vruchtzetting_week[10] += $totaal["week".$week][$sw];
        }
    }



echo $totaal_vruchtzetting_week[10]; // Outputs 170.89

不确定我是否有你的问题,但你考虑过吗?它迭代每个数组,而不考虑键

$i=1;
$totaal_vruchtzetting_week[10]=0;
foreach($totaal as $total)
{
 $totaal_vruchtzetting_week[10]+=$total["week$i"][$i-1];
 $i++;
}
echo $totaal_vruchtzetting_week[10];

你应该用这个循环求和

$i = 1;
$result = 0;

for ($i = 1; $i <= 9; $i++) {
    if (isset($totaal['week' . $i]) && isset($totaal['week' . $i][$i - 1])) {
            $result += floatval($totaal['week' . $i][$i - 1]);
    }
}

$totaal_vruchtzetting_week[10] = $result;

你能展示你的循环吗?你不能试着用$i=1开始循环或者每个循环,然后用$i变量作为偏移量的一部分。i、 e.$totaal[week.$i][$i-1]?我得到24.00mm的输出不知道我是否把你的代码放在一个单独的php文件中,我得到了21.36,所以这很好。我很困惑,当我把它放在我的php文件中时,我得到了24.00的输出。但是当我把它放在一个单独的文件里时,我得到的是21.36good@Julez隐马尔可夫模型。。。尝试包装$sum+=floatvalreset$项@朱雷斯忘了弗洛特瓦尔。只是,你在一个文件中说$sum=24,但在另一个文件中说$sum=21.36?对什么在第一个文件中,其中=24?我已经编辑了函数。我必须使用floatval而不是intvalHi,这很有效。你能解释一下你做了什么吗?因为我不明白$sw=0的周期发生了什么$西南
$i = 1;
$result = 0;

for ($i = 1; $i <= 9; $i++) {
    if (isset($totaal['week' . $i]) && isset($totaal['week' . $i][$i - 1])) {
            $result += floatval($totaal['week' . $i][$i - 1]);
    }
}

$totaal_vruchtzetting_week[10] = $result;