私は現在、連想多次元配列に変換された JSON を使用するプロジェクトに取り組んでおり、いくつかの問題があります。私の配列は次のようになります。
Array
(
[IS-4] => Array
(
[0] => Array
(
[player] => Bulgerian_Soldier
[dmg] => 241138
[battles] => 113
[avg_dmg] => 2134
)
[1] => Array
(
[player] => Lt_Towerladder
[dmg] => 106841
[battles] => 52
[avg_dmg] => 2055
)
[2] => Array
(
[player] => Timroden
[dmg] => 1090983
[battles] => 686
[avg_dmg] => 1590
)
[3] => Array
(
[player] => wunahokalugi
[dmg] => 235883
[battles] => 129
[avg_dmg] => 1829
)
[clan_avg_dmg] => 1709
)...
私がやろうとしているのは、 内のすべての配列をソートすることですが、成功IS-4
しavg_dmg
ていません。以下を使用して、すべてのデータをソートしています。
$tanks_dd = array();
foreach($tanks as $tankname => $tank) {
$tanks_dd[$tankname] = array();
$dmg_max = 0;
$total_dmg = 0;
$battles = 0;
for($i=0; $i < count($tank); $i++) {
$player = $tanks[$tankname][$i];
if($player['avg_dmg'] > $dmg_max) {
$dmg_max = $player['avg_dmg'];
array_unshift($tanks_dd[$tankname], $tanks[$tankname][$i]);
} else {
array_push($tanks_dd[$tankname], $tanks[$tankname][$i]);
}
$total_dmg = $total_dmg + $player['dmg'];
$battles = $battles + $player['battles'];
}
$tanks_dd[$tankname]['clan_avg_dmg'] = $battles == 0 ? 0 : round($total_dmg / $battles);
}