array_filter con matriz de asociación?

Estoy usando array_filter para hacer algo como esto:

function endswithy($value) {
    return (substr($value, -1) == 'y');
}

$people = array("Johnny", "Timmy", "Bobby", "Sam", "Tammy", "Danny", "Joe");
$withy = array_filter($people, "endswithy");
var_dump($withy);

PERO con la opción más en el filtro, por ejemplo

$people = array(
             "Johnny"=>array("year"=>1989, "job"=>"prof"),
             "Timmy"=>array("year"=>1989,  "job"=>"std"),
             "Bobby"=>array("year"=>1988),
             "Sam"=>array("year"=>1983),
             "Tammy"=>array("year"=>1985),
             "Danny"=>array("year"=>1983),
             "Joe"=>array("year"=>1989,"job"=>"prof"));

$people = array(
             array("name"=>"Johnny","year"=>1989, "job"=>"prof"),
             array("name"=>"Timmy","year"=>1989,  "job"=>"std"),
             array("name"=>"Bobby""year"=>1988),
             array("name"=>"Sam","year"=>1983),
             array("name"=>"Tammy","year"=>1985),
             array("name"="Danny","year"=>1983),
             array("name"="Joe","year"=>1989,"job"=>"prof"));

¿Cómo puedo obtener la única genty yyear=1989 yjob=prof), ¿Puedo usar array_filter? o alguna función incorporada para hacer esto?

$people = array(
                 "Johnny"=>array("year"=>1989, "job"=>"prof")
  );

$people = array(
                 array("name="Johnny","year"=>1989, "job"=>"prof")
  );

Respuestas a la pregunta(2)

Su respuesta a la pregunta