首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么会给出未定义的索引错误?

为什么会给出未定义的索引错误?
EN

Stack Overflow用户
提问于 2013-09-08 10:06:57
回答 1查看 84关注 0票数 0
代码语言:javascript
复制
if(isset($_POST['dino_c']) AND isset($_POST['dino_box']) AND isset($dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$_POST['dino_box']])){
if(....){
if(($pop>(0-1+$dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$_POST['dino_box']][4])) AND ($resource[0]>(0-1+$dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][5] -1)) AND ($resource[1]>(0-1+$dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][6] -1)) AND ($resource[2]>(0-1+$dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][7] -1))){
.
.
.
.
$pop = $pop - $dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$_POST['dino_box']][4];
$pop_consum = $pop_consum + $dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$_POST['dino_box']][4];
$resource[0] = 0 + $dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][5];
$resource[1] = 0 + $dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][6];
$resource[2] = 0 + $dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][7];
$dino_add[$a_dino[$_POST['dino_c']][1]-1] = 0 + $dino_recruit[$a_dino[$_POST['dino_c']][1]][$a_dino[$_POST['dino_c']][3]][$a_dino[$_POST['dino_box']]][0];
.
.
.
.
}
}
}

这是我的代码,当我使用它时:

代码语言:javascript
复制
> undefined index:4 in .... ajax.php on line 672  => here line 3
> undefined index: in .... ajax.php on line 672  => here line 3
> undefined index:4 in .... ajax.php on line 672  => here line 3
> undefined index: in .... ajax.php on line 672  => here line 3
> undefined index:4 in .... ajax.php on line 672  => here line 3
> undefined index: in .... ajax.php on line 672  => here line 3
> undefined index:4 in .... ajax.php on line 679  => here line 10
> undefined index: in .... ajax.php on line 679  => here line 10
....
> undefined index:4 in .... ajax.php on line 682  => here line 13
> undefined index: in .... ajax.php on line 682  => here line 13

我使用isset()检查我的数据。如果都设置好了,为什么会产生错误?

在这段代码中,我们有两个$_POST,它们在第一行被检查,其他数据是数组,我检查了100次,我看不出哪里有错误。请参见第8行和第9行。它们没有错误。虽然它的结构与其他lines.Why相似?

EN

回答 1

Stack Overflow用户

发布于 2013-09-08 10:10:52

当你使用isset($r['t']['b']['v']);

它假定$r['t']['b']已经存在,并且只检查['v']

如果这些['t']['b']都不存在,PHP将发出警告,即使它在isset中也是如此。

所以要检查这样的多个dim数组实际上是:

代码语言:javascript
复制
if(isset($r['t'])&&isset($r['t']['b'])&&isset($r['t']['b']['v'])){...
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18679720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档