Şu fonksiyonla istediğiniz her 2 boyutlu diziyi tarayabilirsiniz:

	// Searchs array if the needle is in the second level items
	// When $top_key is true or (is NOT boolean and it equals to the needle), return value is the key of the first level item
	// When $top_key is false, return value is the key of the second level item
	function array_deep_search($needle, $array, $top_key = false)
	{
		foreach ($array as $key => $item)
		{
			if (!is_bool($top_key) && ((is_object($item) && $needle === $item->$top_key) || ($needle === $item[$top_key])))
				return $key;
			elseif (
				is_bool($top_key)
				&& (
					(is_string($item) && $needle == $item)
					|| (is_array($item) && ($index = array_search($needle, $item)) !== false)
				)
			)
				return ($top_key ? $key : $index);
		}

		return false;
	}
Kullanım:
// Belli bir key'e sahip elemanı arıyorken:
$array = array(
	0 => array(
		'id' => 3,
		'title' => 'A'
	),

	1 => array(
		'id' => 5,
		'title' => 'B'
	)
);

// id key'inde 5 değerine sahip dizi elemanının INDEX DEĞERİNİ döndürür
// yani aşağıdaki fonksiyon int(1) değerini döndürecektir
array_deep_search(3, $array, 'id');