Jak wyszukiwać według klucza => wartość w wielowymiarowej tablicy w PHP

Czy istnieje jakikolwiek szybki sposób na uzyskanie wszystkich podwarstw, w których znaleziono parę wartości klucza w tablicy wielowymiarowej? Nie mogę powiedzieć, jak głęboka będzie ta tablica.

Prosta przykładowa tablica:

$arr = array(0 => array(id=>1,name=>"cat 1"),
             1 => array(id=>2,name=>"cat 2"),
             2 => array(id=>3,name=>"cat 1")
);

Kiedy szukam key = name i value = "cat 1", funkcja powinna zwrócić:

array(0 => array(id=>1,name=>"cat 1"),
      1 => array(id=>3,name=>"cat 1")
);

Domyślam się, że funkcja musi być rekurencyjna, aby dotrzeć do najgłębszego poziomu.

questionAnswers(14)

yourAnswerToTheQuestion