Pop\Form\Form::filterValues PHP Method

filterValues() protected method

Method to filter the values with the applied callbacks and their parameters
protected filterValues ( array $values, array $filters ) : array
$values array
$filters array
return array
    protected function filterValues($values, $filters)
    {
        $filteredValues = array();
        foreach ($values as $key => $value) {
            foreach ($filters as $func => $params) {
                if (function_exists($func)) {
                    if ($value instanceof \ArrayObject) {
                        $value = (array) $value;
                    }
                    if (is_array($value)) {
                        $filteredAry = array();
                        foreach ($value as $k => $v) {
                            if (null !== $params) {
                                $pars = !is_array($params) ? array($v, $params) : array_merge(array($v), $params);
                                $filteredAry[$k] = call_user_func_array($func, $pars);
                            } else {
                                $filteredAry[$k] = $func($v);
                            }
                        }
                        $filteredValues[$key] = $filteredAry;
                        $value = $filteredAry;
                    } else {
                        if (null !== $params) {
                            $pars = !is_array($params) ? array($value, $params) : array_merge(array($value), $params);
                            $filteredValues[$key] = call_user_func_array($func, $pars);
                        } else {
                            $filteredValues[$key] = $func($value);
                        }
                        $value = $filteredValues[$key];
                    }
                } else {
                    $filteredValues[$key] = $value;
                }
            }
        }
        return $filteredValues;
    }