create_function
(PHP4>= 4.0.1, PHP 5)create_function -- Создаёт анонимную (lambda-style) функцию
- Создаёт анонимную функцию из переданных параметров и возвращает её уникальное имя. Обычно args передаются строкой в апострофах, что также рекомендуется для параметра code. Основанием для использования строк в апострофах является защита имён переменных от обработки, другими словами, если вы будете использовать кавычки, вам будет нужно экранировать все имена переменных вот так: \$avar.
- Вы можете использовать эту функцию (к примеру) для создания функций на основании информации, полученной во время выполнения программы:
- Или, возможно, чтобы иметь общий обработчик для применения набора функций к списку параметров:
Пример 2. Создание функции-обработчика с помощью create_function()
- Вышеприведённый код выводит следующее:
|
- Однако, вероятно, наиболее обоснованное использование lambda-style (анонимных) функций - это создание функций-обработчиков, например, при использовании array_walk() или usort()
Пример 3. Использование анонимной функции как функции-обработчика
- выводит:
- Сортировка строк по их длине
- результат:
- Теперь отсортируем их в обратном порядке:
- результат:
|
call_user_func
func_get_arg 22222