为了账号安全,请及时绑定邮箱和手机立即绑定

从动态数组和对象计算

从动态数组和对象计算

PHP
慕村9548890 2022-06-17 17:20:13
我有一个对象数组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.41Array C[0] = 4.91最终结果应该是这样的C[0] = 4.91C[1] = 4.46C[2] = 4.68C[3] = 4.685C[4] = 4.45我对通过从对象和数组进行计算来获取输出感到困惑
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

您可以使用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;

}


查看完整回答
反对 回复 2022-06-17
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号