3

如何检查数组的子键中是否存在键?如果找到该项目的该键,则返回该项目?

例如,我有这个数组,

Array
(
    [0] => Array
        (
            [a] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688613
                    [variant] => Array
                        (
                        )

                )

        )

    [1] => Array
        (
            [b] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688631
                    [variant] => Array
                        (
                        )

                )

        )

    [2] => Array
        (
            [c] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688959
                    [variant] => Array
                        (
                        )

                )

        )

)

我想找到键'b'并返回它下面的所有内容,就像这就是我所追求的,

[b] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688631
                    [variant] => Array
                        (
                        )

                )

我尝试了这个,但没有任何回报,

if (array_key_exists('b', $this->content)) {
                echo "The 'b' element is in the array";

}

有任何想法吗?

4

4 回答 4

1
function get_letter($letter){
    foreach($this->content as $v){
        if(array_key_exists($letter, $v) {
            return $v[$letter];
        }
    }
    return false;
}

$array = get_letter('a');
于 2012-06-14T16:06:58.880 回答
0

你不能只遍历外部数组,检查里面的每个数组的键吗?

foreach($this->content as $arr) {
  if(array_key_exists('b', $arr) {
    echo "Found it";
  }
}
于 2012-06-14T16:07:06.683 回答
0

foreach() 根数组,然后是array_key_exists()

foreach ($array as $key => $value) {
    if (array_key_exists('b', $array[$key])) {
        return $array[$key]['b'];
    }
}
于 2012-06-14T16:08:26.383 回答
0

我实际上不会使用它,因为它不是清晰的代码,但是,它是 php 5.4 的一个很酷的内衬

$val = call_user_func_array('array_merge', $array)['b'];
于 2012-06-14T16:51:23.680 回答