Php 在计算数组属性时,isset如何不抛出错误?

Php 在计算数组属性时,isset如何不抛出错误?,php,isset,Php,Isset,每当我试图访问一个不存在的数组的属性时,php就会抛出一个错误通知,如下所示: 注意:未定义的偏移量:空白行空白中空白 $a = array("a","b","c"); $a[4]; //throws an error 相反,如果我使用isset测试此属性是否存在,则不会抛出此错误 $a = array("a","b","c"); isset($a[4]); //does not throw an error 由于php在将参数传递给函数之前会对参数进行求值,因此isset如何避免抛出错

每当我试图访问一个不存在的数组的属性时,php就会抛出一个错误通知,如下所示:

注意:未定义的偏移量:空白行空白中空白

$a = array("a","b","c");

$a[4]; //throws an error
相反,如果我使用
isset
测试此属性是否存在,则不会抛出此错误

$a = array("a","b","c");

isset($a[4]); //does not throw an error
由于php在将参数传递给函数之前会对参数进行求值,因此isset如何避免抛出错误?

不是函数而是语言构造:

注意:因为这是一个语言构造而不是函数,所以不能使用变量函数调用它


它不是以调用函数的方式调用的,而是由语言专门处理的。这同样适用于
empty

isset
不是一个函数,即使它看起来像一个。哈!这很容易,我一定是在文档中漏掉了!你能添加一个真实的代码示例,让它对未来的读者更有用吗