public static function reduce(array $data, callable $cb, $memo) { foreach ($data as $key => $value) { $memo = call_user_func($cb, $memo, $value, $key); } return $memo; }
/** * Filters a value through a set of functions. * * @param mixed $value Value. * @param array $filters Filters. * @return mixed Filtered value. */ private function filter($value, array $filters) { return Traverse::reduce($filters, new Execute(), $value); }