Найти ключ существует в под-ключах массива?

Как проверить, существует ли ключ в под-ключах массива? И если этот ключ элемента найден, верните этот элемент?

Например, у меня есть этот массив,

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"; } 

Есть идеи?

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

Не могли бы вы просто перебрать внешний массив, проверив каждый массив внутри ключа?

 foreach($this->content as $arr) { if(array_key_exists('b', $arr) { echo "Found it"; } } 

foreach () корневой массив, затем array_key_exists () .

 foreach ($array as $key => $value) { if (array_key_exists('b', $array[$key])) { return $array[$key]['b']; } } 

Код здесь выглядит нормально, но мне интересно, откуда идет массив или где он определен? Одно из предложений, которое может сузить его, – это использовать is_array в содержимом $ this->, чтобы убедиться, что это правильный массив.

Я бы на самом деле не использовал это, потому что это не ясный код, но это классный один лайнер для php 5.4

 $val = call_user_func_array('array_merge', $array)['b'];