不确定为什么我收到此错误,因为代码正在运行,我可以看到我预期的数据。
代码
$allSales = array();
foreach ($game['sales'] as $sale) {
foreach ($sale['values'] as $id => $values) {
$allSales[$id]+=$values['y'];
}
}
错误1
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 0
Filename: player/game.php
Line Number: 81
错误2(相同代码)
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 1
Filename: player/game.php
Line Number: 81
答案 0 :(得分:3)
声明:
$allSales[$id] += $values['y'];
表示获取$allSales[$id]
的当前值,为其添加$values['y']
的值,并将该结果存储回$allSales[$id]
。但是,当您第一次遇到特定$id
时,则没有$allSales[$id]
。当您尝试获取其当前值时,这会导致警告。
更改为:
if (isset($allSales[$id])) {
$allSales[$id] += $values['y'];
} else {
$allSales[$id] = $values['y'];
}
或者你可以在@
前加上一行来抑制警告(我知道纯粹主义者会为此而哭泣):
@$allSales[$id] += $values['y'];