【发布时间】:2019-10-18 11:12:21
【问题描述】:
$arr = [ [
'5'=>[
'BG' => 50,
'CH' => 60,
'LG' => 50,
'MT' => 40,
'MO' => 80,
'PH' => 60,
'GE' =>null
]
], [
'6'=>[
'BG' => 90,
'CH' => 60,
'LG' => 60,
'MT' => 50,
'MO' =>null,
'PH' => 50,
'GE' =>null
]
],[
'7'=>[
'BG' => 80,
'CH' => 55,
'LG' => 65,
'MT' => 50,
'MO' =>null,
'PH' => 50,
'GE' => 55
]
]
];
对于每个 id 5、6 和 7,我想总结分数。 CH, PH, MO 和 LG 总是必须总结的。但是在总结了必修项目之后,我想根据以下条件总结其他项目。 如果 MO 为空,则取 BG、MT 和 GE 中最好的两个。如果MO不为null或大于等于0,我想从BG、MT或GE中取最好的一个。
所以总结结果如下:
Array
(
[5] => Array
(
[score] => 300
)
[6] => Array
(
[score] => 310
)
[7] => Array
(
[score] => 305
)
)
我试过foreach,但我无法解决问题。我该如何解决这个问题?
【问题讨论】:
-
到目前为止你有什么尝试?
-
我尝试了 foreach 循环。但不知道如何绕过这种情况。
标签: php arrays sorting multidimensional-array associative-array