我想快速识别数组中是否存在键,以避免抛出错误.
例如,我可能有这样的数组
$arr['f']['b']['g'] = array( 'a', 'b', 'c', ) ;
Run Code Online (Sandbox Code Playgroud)
或者数组在$ arr ['f'] ['b']中可能没有任何变量:
$arr['f']['x'] = array() ;
Run Code Online (Sandbox Code Playgroud)
当引用$ arr ['f'] ['b'] ['g']的(可能)内容时,如何避免在测试中重复?
if ( isset( $arr['f'] ) &&
isset( $arr['f']['b'] ) &&
isset( $arr['f']['b']['g'] ) /* ... yawn */ ) {
/* blah */
}
Run Code Online (Sandbox Code Playgroud)
必须有一种更简洁的方法来确定我所引用的给定数组值是否存在?看起来过于冗长,不得不测试我寻求的价值以及它的所有祖先的存在.在某些情况下,有道理,但不是全部.
例如:它可能代表用户 - >会话 - >购物车,我想要一种快速检查购物车是否有条目的方法,而不必每次都检查用户是否存在,然后是否存在会话,那么推车是否存在,那么......
编辑:我不是在寻找"键值名为'g'的数组值是否存在","是否存在具有f => b => g的祖先的数组值".
Jam*_*ton 29
以下将按预期工作:
if(isset($a['a']['b']['c']))
Run Code Online (Sandbox Code Playgroud)
如果未定义任何这些元素,isset()则返回false.
| 归档时间: |
|
| 查看次数: |
4417 次 |
| 最近记录: |