根据数组和对象的计算

问题描述 投票:0回答:1

我有一个对象数组[[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

我为通过从对象和数组进行计算而获取输出感到困惑
php arrays multidimensional-array
1个回答
0
投票
您可以使用像这样的简单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 )

Demo

© www.soinside.com 2019 - 2024. All rights reserved.