Можно создать таблицу, залить туда данные, и выбрать при помощи SQL. Производительность скорее всего будет так себе, но герои не ищут легких путей. И плевать на проклятия от тех, кто влезет в этот код позже.
На "сыром" php это могло бы выглядеть как-то так:
$result = array_filter($data, function($d){
return $d['sex'] == 'm' && $d['age'] <= 15;
});
Или даже так
$boys = array_filter($data, 'filterBoys');
// а где-то там, в другом месте
function filterBoys($d){
return $d['sex'] == 'm' && $d['age'] <= 15;
}
А если вам заранее известны все критерии отбора, вы можете все результаты отобрать
за один проход.