我有一个对象数组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;
}
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消