【发布时间】:2020-01-07 18:45:29
【问题描述】:
数组值的加法让我一头雾水,这里就不直接加了,因为这些值会根据Bimbel的_code和code标准进行分组,然后再加起来。
我有这样的数组
array(3) {
[0]=>
array(5) {
[0]=>
object(stdClass)#85 (3) {
["bimbel_kode"]=>
string(2) "P1"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(1) "2"
}
[1]=>
object(stdClass)#86 (3) {
["bimbel_kode"]=>
string(2) "P1"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(4) "1.25"
}
[2]=>
object(stdClass)#87 (3) {
["bimbel_kode"]=>
string(2) "P1"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "2.5"
}
[3]=>
object(stdClass)#88 (3) {
["bimbel_kode"]=>
string(2) "P1"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(4) "3.75"
}
[4]=>
object(stdClass)#89 (3) {
["bimbel_kode"]=>
string(2) "P1"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "1.5"
}
}
[1]=>
array(5) {
[0]=>
object(stdClass)#99 (3) {
["bimbel_kode"]=>
string(2) "P2"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(1) "2"
}
[1]=>
object(stdClass)#100 (3) {
["bimbel_kode"]=>
string(2) "P2"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(4) "1.25"
}
[2]=>
object(stdClass)#101 (3) {
["bimbel_kode"]=>
string(2) "P2"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "0.5"
}
[3]=>
object(stdClass)#102 (3) {
["bimbel_kode"]=>
string(2) "P2"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(4) "2.25"
}
[4]=>
object(stdClass)#103 (3) {
["bimbel_kode"]=>
string(2) "P2"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "2.5"
}
}
[2]=>
array(5) {
[0]=>
object(stdClass)#113 (3) {
["bimbel_kode"]=>
string(2) "P3"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "1.5"
}
[1]=>
object(stdClass)#114 (3) {
["bimbel_kode"]=>
string(2) "P3"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(4) "1.25"
}
[2]=>
object(stdClass)#115 (3) {
["bimbel_kode"]=>
string(2) "P3"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "2.5"
}
[3]=>
object(stdClass)#116 (3) {
["bimbel_kode"]=>
string(2) "P3"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(4) "3.75"
}
[4]=>
object(stdClass)#117 (3) {
["bimbel_kode"]=>
string(2) "P3"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
string(3) "2.5"
}
}
}
我想得到这样的结果
array(3) {
[0]=>
array(5) {
[0]=>
array(3) {
["bimbel_kode"]=>
string(2) "P1"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
float(11)
}
}
[1]=>
array(5) {
[0]=>
array(3) {
["bimbel_kode"]=>
string(2) "P2"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
float(8.5)
}
}
[2]=>
array(5) {
[0]=>
array(3) {
["bimbel_kode"]=>
string(2) "P3"
["kriteria_kode"]=>
string(2) "C2"
["nilai"]=>
float(11.5)
}
}
}
换句话说,我想添加基于 bimbel_kode 和 criteria_kode 的值 有人能帮我吗? 我只需要基于 Bimbel_code 和 code_criteria 的每个数组的总数
我用它来运行我的代码
foreach($arsubkrit as $num => $values) {
$sum += $values->nilai;
}
遵循这个技巧link 但我遇到了一个错误
我尝试使用这个
foreach($arsubkrit as $value) {
foreach($value as $key => $number) {
(!isset($res[$key])) ?
$res[$key] = $number->nilai :
$res[$key] += $number->nilai;
}
}
以下引用link
这是我使用该代码时的结果
Array ( [0] => 5.5 [1] => 3.75 [2] => 5.5 [3] => 9.75 [4] => 6.5 )
与我预期的结果相差甚远
【问题讨论】:
-
到目前为止你有没有尝试过什么?
-
是的,我已经编辑了我的问题并添加了我的参考资料。
标签: php arrays multidimensional-array