使第一个数组元素为键,第二个为php平面数组的值



我正在做一个项目,我必须为一些标签求和得分。这个想法是使数组偶数值键和奇数值作为我在谷歌上搜索的值,但我未能创建如下结构。我需要像下面这样的数组结构,这样我就可以很容易地将具有相同键的值求和。

$array = array("22" => 3, "27" => 2, "30" => 1, so on...) from the below array.

[0] => 22
[1] => 3
[2] => 27
[3] => 2
[4] => 30
[5] => 1
[6] => 22
[7] => 3
[8] => 25
[9] => 2
[10] => 28
[11] => 1
The code I am using to map the array with key-value pair according to the above logic.
$rank = $_POST['ranking_details'];
$rinfo = explode('_', $rank);
$result = array_map(function($v){
return [$v[0] => $v[1]];
}, $rinfo);
print_r($result);

输出:

Array
(
[0] => Array
(
[2] => 2
)
[1] => Array
(
[3] => 
)
[2] => Array
(
[2] => 7
)
[3] => Array
(
[2] => 
)
[4] => Array
(
[3] => 0
)

这是你要找的吗?

代码:

$arr = array(22, 3, 22, 3, 27, 2, 22, 3, 30, 1);
$dic = [];
for ($i = 0; $i < count($arr); $i += 2) {
if (array_key_exists($arr[$i], $dic)) {
$dic[$arr[$i]] = $dic[$arr[$i]] + $arr[$i + 1];
} else {
$dic[$arr[$i]] = $arr[$i + 1];
}
}
print_r($dic);

输出:

Array
(
[22] => 9
[27] => 2
[30] => 1
)

最新更新