/** * Filter the array * * @param FilterInterface $filter Filter to use * * @return \ArrayObject */ public function filterBy(FilterInterface $filter) { $arrayToFilter = $this->arrayToFilter; $filteredArray = new \ArrayObject(); foreach ($arrayToFilter as $key => $value) { if ($filter->isSatisfiedBy($key, $value)) { $filteredArray->offsetSet($key, $value); } } return $filteredArray; }