简化PHP多维数组键的验证

Simplify PHP Validation of Multi-dimensional Array keys

如何简化这段在访问其值之一之前验证多维数组的代码?

<?php
function some_function($a) {
  if (isset($a) &&
    isset($a['container']) &&
    isset($a['container']['level1']) &&
    isset($a['container']['level1']['item1']) {
    print $a['container']['level1']['item1'];
  }
}
?>

是否有更简单或更好的方法来检查密钥是否存在?

只做一个 isset($a['container']['level']['item1'])。它将按顺序检查所有密钥,如果不存在则保释。没有必要测试你的方式 "down" 树。

你可以只检查最里面的值:

<?php
function some_function($a) {
  if (isset($a) &&
    isset($a['container']['level1']['item1']) {
    print $a['container']['level1']['item1'];
  }
}
?>