从动态数组和对象计算

我有一个对象数组A和一个数组B


对象数组 A 如下所示


array(2) {

  [0]=>

  object(stdClass)#30 (5) {

    ["kriteria_kode"]=>

    string(2) "C1"

    ["kriteria_bobot"]=>

    string(2) "70"

  }

  [1]=>

  object(stdClass)#31 (5) {

    ["kriteria_kode"]=>

    string(2) "C2"

    ["kriteria_bobot"]=>

    string(2) "30"

  }

}

数组 B 看起来像这样


array(5) {

  [0]=>

  array(2) {

    [0]=>

    int(5)

    [1]=>

    float(4.7)

  }

  [1]=>

  array(2) {

    [0]=>

    float(4.4)

    [1]=>

    float(4.6)

  }

  [2]=>

  array(2) {

    [0]=>

    float(4.8)

    [1]=>

    float(4.4)

  }

  [3]=>

  array(2) {

    [0]=>

    float(4.7)

    [1]=>

    float(4.65)

  }

  [4]=>

  array(2) {

    [0]=>

    float(4.3)

    [1]=>

    float(4.8)

  }

}

我想使用以下公式从两个数组(A 和 B)中生成计算结果:


Array C[0] = ((Array B[0][0]*Array A[0]->kriteria_bobot)/100) +  ((Array B[0][1]*Array A[1]->kriteria_bobot)/100) 

Array C[0] = ((5*70)/100) + ((4.7*30)/100))

Array C[0] = 3.5 + 1.41

Array C[0] = 4.91

最终结果应该是这样的


C[0] = 4.91

C[1] = 4.46

C[2] = 4.68

C[3] = 4.685

C[4] = 4.45

我对通过从对象和数组进行计算来获取输出感到困惑


慕村9548890
浏览 130回答 1
1回答

幕布斯7119047

您可以使用foreach像这样的简单循环:foreach($B as $pair){    $C[] = ($pair[0]*$A[0]->kriteria_bobot)/100 + ($pair[1]*$A[1]->kriteria_bobot)/100;}输出:Array(    [0] => 4.91    [1] => 4.46    [2] => 4.68    [3] => 4.685    [4] => 4.45)演示您已要求为数组A制作动态内容。我想提醒您,数组 A 的长度必须与数组 B 的 1 个子数组的长度相同:foreach($B as $pair){    $tmp = 0;    foreach($A as $ind=>$ob){        $tmp += ($pair[$ind]*$ob->kriteria_bobot)/100;    }    $C[] = $tmp;}
打开App,查看更多内容
随时随地看视频慕课网APP