为了账号安全,请及时绑定邮箱和手机立即绑定

如何在php中总结具有相同键的单维数组的值

如何在php中总结具有相同键的单维数组的值

PHP
幕布斯7119047 2022-07-22 15:18:18
例如:如果 strArr 是 ["B:-1", "A:1", "B:3", "A:5"] 那么你的程序应该返回字符串 A:6,B:2。您的最终输出字符串应按字母顺序返回键。排除求和后值为 0 的键。示例 输入:array("X:-1", "Y:1", "X:-4", "B:3", "X:5") 输出:B:3,Y:1
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

简单的家庭作业。您必须将explode每一对放入一个数组中,并对每个字母的值求和。然后排序(ksort按键),检查并跳过生成的数组中是否有 0:


<?php

    $sums = array();

    $arr = array("X:-1", "Y:1", "X:-4", "B:3", "X:5");

    foreach ($arr as $key => $pair) {

        $pairArray = explode(":", $pair);

        (!array_key_exists($pairArray[0], $sums))

            ? $sums[$pairArray[0]] = (int)$pairArray[1]

            : $sums[$pairArray[0]] += (int)$pairArray[1];

    }


    print_r($sums);


    ksort($sums);


    $result = array();

    foreach ($sums as $key => $value) {

        if ($value != 0) {

            array_push($result, $key . ":" . $value);

        }

    }


    $result = implode(",", $result);

    echo $result;

?>

输出:


Array

(

    [X] => 0

    [Y] => 1

    [B] => 3

)


B:3,Y:1



查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信