Php 合并数组键值
我有一个数组结构,其中包含一个锦标赛玩家的ID:Php 合并数组键值,php,arrays,wordpress,Php,Arrays,Wordpress,我有一个数组结构,其中包含一个锦标赛玩家的ID: array ( 0 => array ( 0 => array ( 'player' => 7, 'gol' => 1, ), 1 => array ( 'player' => 9, 'gol' => 1, ), ), 1 => array
array (
0 =>
array (
0 =>
array (
'player' => 7,
'gol' => 1,
),
1 =>
array (
'player' => 9,
'gol' => 1,
),
),
1 =>
array (
0 =>
array (
'player' => 10,
'gol' => 1,
),
1 =>
array (
'player' => 9,
'gol' => 1,
),
),
),
此数组有一些重复项('player')。我希望生成一个不包含重复玩家的数组,结果将是每个玩家每个目标的总和,例如:
array(
0 =>
array (
'player' => 7,
'gol' => 1,
),
1 =>
array (
'player' => 9,
'gol' => 2,
),
2 =>
array (
'player' => 10,
'gol' => 1,
),
),
这是我的代码:
if ($query->have_posts()) {
$players = [];
while ($query->have_posts()) {
$query->the_post();
if (have_rows('field_name', $id)):
while (have_rows('field_name', $id)) : the_row();
$tmp = [];
$player = get_sub_field('player_name', $id);
$tmp['player'] = $player['ID'];
$tmp['gol'] = get_sub_field('player_goal', $id);
array_push($players, $tmp);
}
}
输出
Array
(
[9] => 2
[10] => 1
[7] => 1
)
输出
Array
(
[9] => 2
[10] => 1
[7] => 1
)
天真的方式(我从FAEWZX答案中获取样本):
输出:
Array
(
[0] => Array
(
[player] => 7
[gol] => 1
)
[1] => Array
(
[player] => 9
[gol] => 2
)
[2] => Array
(
[player] => 10
[gol] => 1
)
)
天真的方式(我从FAEWZX答案中获取样本):
输出:
Array
(
[0] => Array
(
[player] => 7
[gol] => 1
)
[1] => Array
(
[player] => 9
[gol] => 2
)
[2] => Array
(
[player] => 10
[gol] => 1
)
)
为什么不在查询中使用SUM和GROUP BY运算符?为什么不在查询中使用SUM和GROUP BY运算符?使用arsort不起作用。结构是:数组(0=>array('player'=>11,'gol'=>2,),1=>array('player'=>10,'gol'=>1,),2=>array('player'=>6,'gol'=>4',)@mariobros然后需要一个usort函数,比如
usort('player,function($a,$b){return$b['gol']$a['gol'];)
Edit:
操作符将在7.0+版本的PHP上工作,因此如果您仍在5.6中,请尝试按照手册操作。*您可以使用数组按值排序编辑答案吗?使用arsort不起作用。结构是:数组(0=>array('player'=>11,'gol'=>2,),1=>array('player'=>10,'gol'=>1,),2=>array('player'=>6,'gol'=>4',)@mariobros然后需要一个usort函数,如usort($player,function($a,$b){return$b['gol']$a['gol'];}
Edit:
操作符将在7.0+版本的PHP上工作,因此如果您仍在5.6中,请尝试按照手册操作。*您可以使用数组顺序值编辑答案吗?