array_filter с ассоциированным массивом?

Я использую array_filter, чтобы сделать что-то вроде этого:

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);

НО с дополнительным параметром в фильтре, например

$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"));

Как я могу получить только этих людей (endwith y и год = 1989 и job = prof ), Могу ли я использовать array_filter? или любую встроенную функцию для этого?

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

ИЛИ

$people = array(
                 array("name="Johnny","year"=>1989, "job"=>"prof")
  );
6
задан hakre 21 December 2012 в 03:45
поделиться