合并关联数组中键值对的计数
Merge with count for key value pair in associative array
我有这个数组,如果 x_axis 相同,我想合并 y_axis,请查看两个示例,这样您就会了解我需要什么。
array:4 [
0 => array:2 [
"x_axis" => 8
"y_axis" => 1
]
1 => array:2 [
"x_axis" => 9
"y_axis" => 1
]
2 => array:2 [
"x_axis" => 11
"y_axis" => 2
]
3 => array:2 [
"x_axis" => 11
"y_axis" => 3
]
]
喜欢
array:3 [
0 => array:2 [
"x_axis" => 8
"y_axis" => 1
]
1 => array:2 [
"x_axis" => 9
"y_axis" => 1
]
2 => array:2 [
"x_axis" => 11
"y_axis" => 5
]
]
我写了一个函数。我在哪里包括两个两个循环。第一个循环创建一个新数组,您可以在其中计算值。第二个创建最终数组,在您需要的模式中分配值。
<?php
$arr = [
['x_axis' => 8, 'y_axis' => 1],
['x_axis' => 9, 'y_axis' => 1],
['x_axis' => 11, 'y_axis' => 2],
['x_axis' => 11, 'y_axis' => 3],
];
function make($arr) {
$xy = [];
foreach($arr as $k => $v) {
$xy[$v['x_axis']] = isset($xy[$v['x_axis']]) ? $xy[$v['x_axis']] + $v['y_axis'] : $v['y_axis'];
}
$arrNew = [];
foreach($xy as $k => $v) {
$arrNew[] = ['x_axis' => $k, 'y_axis' => $v];
}
return $arrNew;
}
print_r( make($arr) );
输出
Array
(
[0] => Array
(
[x_axis] => 8
[y_axis] => 1
)
[1] => Array
(
[x_axis] => 9
[y_axis] => 1
)
[2] => Array
(
[x_axis] => 11
[y_axis] => 5
)
)
我有这个数组,如果 x_axis 相同,我想合并 y_axis,请查看两个示例,这样您就会了解我需要什么。
array:4 [
0 => array:2 [
"x_axis" => 8
"y_axis" => 1
]
1 => array:2 [
"x_axis" => 9
"y_axis" => 1
]
2 => array:2 [
"x_axis" => 11
"y_axis" => 2
]
3 => array:2 [
"x_axis" => 11
"y_axis" => 3
]
]
喜欢
array:3 [
0 => array:2 [
"x_axis" => 8
"y_axis" => 1
]
1 => array:2 [
"x_axis" => 9
"y_axis" => 1
]
2 => array:2 [
"x_axis" => 11
"y_axis" => 5
]
]
我写了一个函数。我在哪里包括两个两个循环。第一个循环创建一个新数组,您可以在其中计算值。第二个创建最终数组,在您需要的模式中分配值。
<?php
$arr = [
['x_axis' => 8, 'y_axis' => 1],
['x_axis' => 9, 'y_axis' => 1],
['x_axis' => 11, 'y_axis' => 2],
['x_axis' => 11, 'y_axis' => 3],
];
function make($arr) {
$xy = [];
foreach($arr as $k => $v) {
$xy[$v['x_axis']] = isset($xy[$v['x_axis']]) ? $xy[$v['x_axis']] + $v['y_axis'] : $v['y_axis'];
}
$arrNew = [];
foreach($xy as $k => $v) {
$arrNew[] = ['x_axis' => $k, 'y_axis' => $v];
}
return $arrNew;
}
print_r( make($arr) );
输出
Array
(
[0] => Array
(
[x_axis] => 8
[y_axis] => 1
)
[1] => Array
(
[x_axis] => 9
[y_axis] => 1
)
[2] => Array
(
[x_axis] => 11
[y_axis] => 5
)
)