不知道为什么我得到这个错误,因为代码正在工作,我可以看到我所期望的数据。
$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
语句:
$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'];