在PHP中访问关联数组时未定义的变量

时间:2014-10-30 22:59:47

标签: php mysql arrays

我有两个数组,一个是“OperID”,另一个是“OperSums”。 OperID数组包含ID号,OperSums数组包含附加到总计的ID,如下所示:

阵列1

{[0] => oper1 [1] => oper2 [2] => 3 [3] => oper4 [4] => oper5 [5] => oper6 [6] => oper7 [7]       => oper8 [8] => oper9}

数组2

{["oper3"]=> float(17498.5) ["oper1"]=> float(10383.5) ["oper2"]=> float(6277) ["oper4"]=> float(10224.67) ["oper6"]=> float(3955.65) ["oper5"]=> float(4997.78) ["oper8"]=> float(11382) ["oper9"]=> float(5072.1) ["oper7"]=> float(14759) ["oper-nb3n0hah-1tueubqo"]=> float(1033.45) ["oper-50f6e4ad-9effbec7"]=> float(3058) ["oper-4f05a90b-03b379f9"]=> float(12112.5) ["oper-4db82d0b-796a3081"]=> float(621) ["oper-qxr9ryex-bsmm0g6f"]=> string(4) "0.00" ["oper-qtgjvw8y-1uqtw058"]=> float(10023) ["oper-487b885e-dbbae536"]=> string(6) "340.00" ["oper-shcuaee2-yldfdxsd"]=> float(467) ["oper-416fd551-da6937eb"]=> float(6563) ["oper-50564d75-f1da98ec"]=> string(4) "0.00" ["oper-l65tf5ex-w5qfinca"]=> float(1746) ["oper-52657816-3d6516e2"]=> float(3495) ["oper-4a82c3be-bccc185d"]=> float(0) ["oper-1f2mnwry-nfywuasi"]=> string(6) "255.95"}

我只想收集两个数组中的运算符值,并显示数组2中每个浮点数内的每个运算符的总数,并截断所有额外数据。我想截断所有额外数据的原因是因为我将在图表中显示信息。对于关联数组我真的不是那么好,所以任何正确方向的指针或提示都会受到高度赞赏。顺便说一句,这是在PHP中。

以下是我目前使用的代码:

$operSums = array();

$operearnedArray[] = array(
  'amount' => $row['ChargeAmount'], 
  'id' => $row['OperatorID']);


foreach ($operearnedArray as $value) {
  if($value['id'] == '' || $value['id'] == null) {
  continue;
  }
  if(array_key_exists($value['id'], $operSums)) {
    $operSums[$value['id']] += $value['amount'];
  } else {
    $operSums[$value['id']] = $value['amount'];
  }
}

foreach ($OperSums as $id => $value) {
    if (in_array($id,$OperID)) {
        echo $id.' => '.$value;
    }
}

但它会抛出这些错误消息:

注意:未定义的变量:OperSums 警告:为foreach()提供的参数无效

仅在第二个foreach循环中发生这些错误消息

1 个答案:

答案 0 :(得分:1)

它是$operSums,但是你正在通过$OperSums(注意案例)