PHP:将数组值添加到一起

PHP:将数组值添加到一起,php,arrays,json,Php,Arrays,Json,我相信这比标题听起来要难一些,但我可能完全错了。我有这样一个数组: [["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够获取公共值,在本例中是londrina和tiradentes,并将这些数字相加。我的PHP代码如下所示: $qry = mysql_query("SELECT * FROM bap WHERE semana = '".$week."'");

我相信这比标题听起来要难一些,但我可能完全错了。我有这样一个数组:

[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]]
我希望能够获取公共值,在本例中是londrina和tiradentes,并将这些数字相加。我的PHP代码如下所示:

$qry = mysql_query("SELECT * FROM bap WHERE semana = '".$week."'");
    $rows = array();
    while($row = mysql_fetch_array($qry)) {
        $rows[] = $row;
    }

    $resultstr = array();

    foreach($rows as $row) {
        $resultstr[] = '["'.$row['zona'].'",'.$row['numero'].']';

    }
    $result = implode(', ',$resultstr);
    print '['.$result.']';
我不确定是否需要更多的信息。数组以这种格式输出,用于jquery json图形插件。如果需要更多信息,请告诉我。

尝试以下方法:

$arr = [["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]];
$new_arr = [];

foreach ($arr as $a) {

    list($name, $num) = $a;

    if (!isset($new_arr[$name])) {
        $new_arr[$name] = 0;
    }

    $new_arr[$name] += $num;
}

var_dump($new_arr);
为OP编辑

完整地使用此代码,应获得预期结果:

$qry = mysql_query("SELECT * FROM bap WHERE semana = '".$week."'");

while ($row = mysql_fetch_array($qry)) {

    $rows[] = array($row['zona'], $row['numero']);
}

$new_arr = [];

foreach ($rows as $a) {

    list($name, $num) = $a;

    if (!isset($new_arr[$name])) {
        $new_arr[$name] = 0;
    }

    $new_arr[$name] += $num;
}

var_dump($new_arr);

说未定义的索引:numeroi你的列叫numero吗?从代码的外观来看,它是;但如果没有,则替换为需要求和的适当列Yes,即collumns名称,然后在PHP代码中使用
sum
,因为SQL在名为
sum
的新临时列中使用了
numero
的所有相关值的和的别名。。。。或者将别名更改为
numero
谢谢!我知道出了什么问题。命名列sum与代码不符,我只是将它改为numero,一切正常。我甚至不知道这个小组的情况。哈哈,我想我是,2分钟,从来没有这么快回答过一个问题。这不管用。。。我编写的PHP代码输出该数组,并试图将您的代码合并到我的代码中,这给了我一个错误警告:为foreach()提供的参数无效
SELECT zona,
       SUM(numero) AS sum  
  FROM bap 
 WHERE semana = $week 
 GROUP BY zona