public function getFilteredMemberList(array $filters, $key = 'id', $value = 'name')
{
$members = $this->getMembers();
$member_list = [];
$values = $value;
if (!is_array($values)) {
$values = [$value];
}
foreach ($members as $member) {
$member_list[$member->get($key)] = [];
foreach ($values as $item) {
$member_list[$member->get($key)][$item] = $member->get($item);
}
if (count($member_list[$member->get($key)]) < 2) {
$member_list[$member->get($key)] = array_pop($member_list[$member->get($key)]);
}
foreach ($filters as $attribute => $match_value) {
if ($member->get($attribute) != $match_value) {
unset($member_list[$member->get($key)]);
break;
}
}
}
return $member_list;
}