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