我有一个数组,它有几个amounts(基于$$$sales)附加到一个id(其中一些ids是相同的,基于谁进行了销售)。我的目标是收集amounts的总数,并将每个总数附加到进行销售的id上(从数组中截断相同的ids)。我真的不知道该怎么做,因为我还在学习。

while ($row) {
    $operearnedArray[] = array(
      'amount' => $row['ChargeAmount'],
      'id' => $row['OperatorID']);
}
//$operearnedArray returns the array with each "amount" attached to "id"
foreach ($operearnedArray as $key => $value) {
    if($value['id'] == '' || $value['id'] == null) {
        continue;
    }
    if(array_key_exists($value['id'], $operSums)) {
        $operSums[$value['id']] += $value['amount'];
    } else {
        //I'm not sure where to go from here...
    }
}

最佳答案

你的代码在我看来很好,至于注释,一个简单的

$operSums[$value['id']] = $value['amount'];

应该会成功的。当然,检查存在的键是明智的,但
foreach ($operearnedArray as $key => $value) {
    if($value['id'] == '' || $value['id'] == null) {
        continue;
    }
    $operSums[$value['id']] += $value['amount'];
}

应该也能正常工作,正如您在this demo中看到的那样。

关于php - 使用array_key_exists将总数与ID配对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26663607/

10-13 02:56