Php 如何正确标记数组?

Php 如何正确标记数组?,php,arrays,Php,Arrays,我的数据库中有一个表,脚本在其中存储其值。 我希望实现以下目标,如果“描述”已经存在,我希望它显示一次,但将所有重复的行计算在内。下面的代码正是我想要的,但我想用“label”和“y”来标记它 目前我有以下代码: if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ while($row = mysqli_fetch_array($result)){

我的数据库中有一个表,脚本在其中存储其值。 我希望实现以下目标,如果“描述”已经存在,我希望它显示一次,但将所有重复的行计算在内。下面的代码正是我想要的,但我想用“label”和“y”来标记它 目前我有以下代码:

if($result = mysqli_query($link, $sql)){
    if(mysqli_num_rows($result) > 0){
        while($row = mysqli_fetch_array($result)){
            foreach($result as $row){
            $dataPoints[$row['description']] += $row['hours'];
            }
            print_r($dataPoints);       
        }
    }
输出为:

Array ( [Mail] => 35)
但我希望dataPoints数组显示为:

Array ( [label] => Mail [y] => 35 )

更改行:
$dataPoints[$row['description']]+=$row['hours']

致:

要使用
+=
运算符,应确保
$dataPoint['y']
具有值,否则会显示警告,如
警告:未定义的数组键“y”

编辑,仅统计
说明
等于
邮件
的记录:

IF ($row['description')=='Mail') {
   $dataPoint['label'] = $row['description'];
   $dataPoint['y'] += $row['hours'];
}

这不起作用,输出为:数组([label]=>Mail[y]=>194.75)194.75是表中所有小时的总和。我希望它只显示所有行的总数,其中“description”等于“Mail”,并使用您提供的额外信息进行更新。
IF ($row['description')=='Mail') {
   $dataPoint['label'] = $row['description'];
   $dataPoint['y'] += $row['hours'];
}