Задача: функция должна искать в неком массиве значение и проверять, находится ли оно в списке допустимых. Если его в массиве нет или оно не находится в списке допустимых - должна возвращать дефолтное значение.
Зачем? Ну, к примеру, URL-параметры обрабатывать...
Пытаюсь решить эту задачу с помощью filter_input(), как-то так:
filter_input( $input_array, $required_key, FILTER_CALLBACK, array(
'options' => function($key)use($allowed_values, $default_value) {
return in_array($key, $allowed_values) ? $key : $default_value; },
'default' => $default_value ))
Понятно, что можно решить задачу "классическими" средствами с вложенным if'ом. Но хочется немного
лунного сахара.
Возможно ли это?