从PHP中的两个数组变量乘以

时间:2015-02-21 17:58:43

标签: php arrays loops for-loop foreach

我们说..我有这样的数据

wij = [0.5, 0.30, 0.25, 0.15, 0.25]

enter image description here

如您所见.. wij 中的每个数据都代表从C1到C5从上表

C1 = 0.5 C2 = 0.30 C3 = 0.25 C4 = 0.15 C5 = 0.25

所以......我将wij创建为数组变量,如下所示:

$wij = array(0.5, 0.30, 0.25, 0.15, 0.25);

和A1直到A5行为数组变量:

$nij = array(
    array(150, 15, 2, 2, 3);
    array(500, 200, 2, 3, 2);
    array(200, 10, 3, 1, 3);
    array(350, 100, 3, 1, 2);
);

我想将 wij 中的每个数据与A1中的数据相乘,直到A5行,所以它看起来像这样:

A1 = (0.5*150)+(0.30*15)+(0.25*2)+(0.15*2)+(0.25*3)

A2 = (0.5*500)+(0.30*200)+(0.25*2)+(0.15*3)+(0.25*2)

A3 = (0.5*200)+(0.30*10)+(0.25*3)+(0.15*1)+(0.25*3)

A4 = (0.5*350)+(0.30*100)+(0.25*3)+(0.15*1)+(0.25*2)

我没有任何线索如何使用for循环或foreach循环。因为表中的每一行并不总是有4个数据,如上表所示,它总是5行或更多,所以我想如果使用for循环它将会起作用。

1 个答案:

答案 0 :(得分:1)

<?php 
$wij = array(0.5, 0.30, 0.25, 0.15, 0.25);
$array1 = array(150, 15, 2, 2, 3);
$array2 = array(500, 200, 2, 3, 2);
$array3 = array(200, 10, 3, 1, 3);
$array4 = array(350, 100, 3, 1, 2);
$arrays = array($array1,$array2,$array3,$array4);
$as = array(0,0,0,0);


for($i = 0;$i<4;$i++)
{
    for($t = 0;$t<5;$t++)
    {
    $as[$i] += ($wij[$t]*$arrays[$i][$t]);
    }
    echo "</br>".$as[$i];   
}

?>

如果你愿意,我可以解释for循环。