$foo
可能是而不是定义的
if( /* condition */ )
{
$foo = array( 'bar' => 1 );
}
在代码的后面,我想检查是否同时定义了$foo
,以及它是否有一个名为bar
的密钥(持有非null
值)
我能一步到位吗?
isset
的这种用法有效吗?
$defined = isset( $foo['bar'] );
我在一个测试脚本中尝试了上面的语句,没有定义$foo
,也没有抛出错误。然而,我在语言规则设置为loose的上下文中从控制台调用了php。
我担心php语言配置设置可能会设置一个更"严格"的语言模式,其中上述内容是非法的,应该在更多步骤中完成:
$defined = isset( $foo ) && array_key_exists( 'bar', $foo ) && $foo['bar']!==null;
$defined = isset( $foo['bar'] );
是否有效,以便在一个步骤中检查是否满足以下所有条件:
- 定义了
$foo
$foo
是一个数组- 该数组有一个名为
bar
的键 - 密钥CCD_ 10的值不是CCD_