PHP检查是否存在负索引不工作?

PHP检查是否存在负索引不工作?,php,arrays,isset,array-key-exists,Php,Arrays,Isset,Array Key Exists,我有一些代码在遇到以下问题之前运行良好: if(array_key_exists($snIdx, $fields)); $surnameField = trim($fields[$snIdx]); 或者我试过的其他版本: if(isset($fields[$snIdx)); $surnameField = trim($fields[$snIdx]); $snIdx=-1。 它在第二行给出了未定义的偏移量错误($姓氏=trim…)。 我认为我不需要粘贴其余的代码,因为异常表明这

我有一些代码在遇到以下问题之前运行良好:

if(array_key_exists($snIdx, $fields));
    $surnameField = trim($fields[$snIdx]);
或者我试过的其他版本:

if(isset($fields[$snIdx));
    $surnameField = trim($fields[$snIdx]);
$snIdx=-1
。 它在第二行给出了未定义的偏移量错误(
$姓氏=trim…
)。
我认为我不需要粘贴其余的代码,因为异常表明这些函数有问题。我的PHP版本是5.4.16。

如果行,请删除
末尾的分号。否则相当于:

if( something) {
    // no-op
}
$surnameField = trim($fields[$snIdx]); // undefined offset error.

嗯,你有
$fields[-1]
吗?没有。这就是抛出异常的原因。但这就是为什么会有一个条件。你的条件没有任何作用,因为你有
在它的结尾。谢谢你指出它。我想我得出去一会儿,让我的大脑恢复正常。是的,确实是这样,放松一下:)啊哈:D+1真丢脸。我很丢脸,我花了整整四分钟才回答这个问题:p