【问题标题】:Undefined Offset error although isset() present [closed]尽管存在isset(),但未定义的偏移错误[关闭]
【发布时间】:2015-10-12 06:02:16
【问题描述】:

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

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

所以即使我检查了 value isset 我仍然设法得到这个错误。有人有什么想法吗?

【问题讨论】:

  • $agents[$agent[0]][2] 未设置,您无需检查。
  • 我怀疑你在括号所在的那一行得到了错误。
  • $agent[2] 不是$agent[0][2]
  • 您检查了 agent[2] 并设置为 agent[0][2] .. 检查您的数组结构,请从您的代码中提供更多详细信息

标签: php arrays merge array-merge


【解决方案1】:

您正在一起递增和分配$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])) {

【讨论】:

  • 是的,就是这样:) 冷却期后将接受答案。 @Troll 投反对票 - 下次你投反对票时,请解释原因......
猜你喜欢
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
相关资源
最近更新 更多