我有这个数组,我喜欢按新名称和总和对分数进行分组。我有一个输入数组,看起来像:
Array
(
[0] => Array
(
[newname] => Horse
[score] => 4
)
[1] => Array
(
[newname] => Horse
[score] => 2
)
[2] => Array
(
[newname] => Snake
[score] => 3
)
[3] => Array
(
[newname] => Dog
[score] => 3
)
)
我需要输出数组来对每个新名字的分数求和。所以这将是结果:
Array
(
[0] => Array
(
[newname] => Horse
[score] => 6
)
[1] => Array
(
[newname] => Snake
[score] => 3
)
[2] => Array
(
[newname] => Dog
[score] => 3
)
)
为此我有以下 php
$newArray = array();
foreach ($arrayAnimals as $row){
if(!isset($newArray[$row['newname']]['score'])){
$newArray[$row['newname']]['score'] =0;
}
$newArray[$row['newname']]['score'] += $row['score'];
}
但它只显示分数?
最佳答案
你可以这样做
$newArray = array();
foreach ($arrayAnimals as $row){
$animal = $row['newname'];
if(!isset($newArray[$animal])){
$newArray[$animal]['newname'] = $animal;
$newArray[$animal]['score'] = 0;
}
$newArray[$animal]['score'] += $row['score'];
}
print_r(array_values($newArray));
关于php arrays in array sum value by specific key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48164167/