我想快速识别一个数组中是否存在一个键,以避免发生错误.
例如,我可能会有这样的数组
$arr['f']['b']['g'] = array( 'a','b','c',) ;
或者数组在$arr [‘f’] [‘b’]中可能没有任何变量:
$arr['f']['x'] = array() ;
在引用$arr [‘f’] [‘b’] [‘g’]的(可能)内容时,如何避免重复测试?
if ( isset( $arr['f'] ) && isset( $arr['f']['b'] ) && isset( $arr['f']['b']['g'] ) /* ... yawn */ ) { /* blah */ }
必须有一种更简单的方法来确定我引用的给定数组值是否存在?必须测试我寻求的价值以及其所有祖先的存在,似乎太冗长了.在某些情况下,这是有道理的,是的,但不是全部.
例如:它可以表示,例如user-> session-> cart,其中我想要一种快速检查购物车是否具有条目的方式,而不必包括对用户是否存在的检查,然后是否会话存在,则是否存在购物车,则…
编辑:我不在寻找“做一个名称为”g“的数组值存在”,因为“具有祖先f => b => g存在的数组值”.
以下将按照您的期望工作:
if(isset($a['a']['b']['c']))
如果这些元素中的任何元素未定义,则isset()将返回false.