PHP:is_array在$ arr ['key']上,不存在'key'

she*_*iel 5 php

我的一所大学似乎对我编写的代码有一个"未定义的索引"错误

我的这段代码看起来像这样:

if ( is_array ($arr['key'])) 
Run Code Online (Sandbox Code Playgroud)

我的目的是检查$ arr是否有一个名为'key'的键,以及该键的值是否为数组本身.我应该这样做if( isset($arr['key']) && is_array ($arr['key']))吗?

也许以下是等价的:让我们假设没有设置$ var.那么,is_array($ var)会导致错误还是只返回false?

谢谢

Jon*_*nah 6

是的isset,然后使用is_array.

if(isset($arr['key']) && is_array($arr['key'])) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

因为PHP使用短路逻辑评估,它会在它到达之前停止is_array(),所以你永远不会得到错误.