尽管存在 isset(),但出现未定义的偏移错误

Undefined Offset error although isset() present

根据标题,我收到以下错误:

Notice: Undefined offset: 2 in C:\xampp\htdocs\phpscripts\download-test.php on line 412

第 412 行是:

 if(isset($agent[2])) {
      $agents[$agent[0]][2] += $agent[2];
 } else {
      $agents[$agent[0]][2] = 0;
 } <---- line 412

所以即使我检查是否设置了值,我仍然设法得到这个错误。有人有什么想法吗?

您正在一起递增和分配 $agents[$agent[0]][2] 的值。

$agents[$agent[0]][2] += $agent[2]; 

相同
$agents[$agent[0]][2] = $agents[$agent[0]][2] + $agent[2];

需要先设置$agents[$agent[0]][2]。支票应该是 -

if(isset($agent[2]) && isset($agents[$agent[0]][2])) {