Умножение из двух переменных массива в PHP

0

Позвольте сказать.. У меня есть данные, подобные этому

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

а также

Изображение 174551

Как видите, каждая информация в 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-loops или foreach-loops. Поскольку каждая строка в таблице не всегда имеет 4 данных, как из приведенной выше таблицы, она всегда может содержать 5 строк или более, поэтому я предполагаю, что это будет работать при использовании for-loops.

Теги:
arrays
for-loop
loops
foreach

1 ответ

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-loop, если хотите.

  • 0
    Интересный стиль, я бы написал массивы в массиве, выглядит намного чище, чем 5 переменных в массиве.
  • 1
    также используйте циклы foreach, лучше, потому что размер массива может отличаться
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню