PHP | create_function () Функция
Create_function () - это встроенная функция в PHP, которая используется для создания анонимной (лямбда-стиля) функции в PHP.
Синтаксис:
строка create_function ($ args, $ code)
Параметры: эта функция принимает два параметра, которые описаны ниже:
- $ args: это аргумент функции строкового типа.
- $ code: это код функции строкового типа.
Примечание. Обычно эти параметры передаются в виде строк, разделенных одинарными кавычками. Причина использования строк в одинарных кавычках состоит в том, чтобы защитить имена переменных от синтаксического анализа, в противном случае потребуются двойные кавычки, чтобы избежать имен переменных, например, $ avar.
Возвращаемое значение: эта функция возвращает уникальное имя функции в виде строки, в противном случае возвращает FALSE в случае ошибки.
Ниже программы иллюстрируют функцию create_function () в PHP:
Program 1: Creating an anonymous function with create_function()
<?php//create a function from information // gathered at run time, $newfunc = create_function("$a, $b", "return "ln($a) + ln($b) = " . log($a * $b);"); echo "New anonymous function: $newfunc
";echo $newfunc(2, M_E) . "
";?> |
New anonymous function: lambda_1 ln(2) + ln(2.718281828459) = 1.6931471805599
Program 2: Create a general function with create_function()
<?php// General function that can apply a set of // operations to a list of parameters. function Program($value1, $value2, $arr){ foreach ($arr as $val) { echo $val($value1, $value2) . "
"; }} // create a bunch of math functions$f1 = "if ($a >= 0) { return "b * a^2 = ". $b * sqrt($a);} else { return false; }"; $f2 = "return "min(a, b) = ".min($a, $b);"; $farr = array( create_function("$x, $y", "return "a hypotenuse: ".sqrt($x * $x + $y * $y);"), create_function("$a, $b", $f1), create_function("$a, $b", $f2)); echo "first array of anonymous functions" . "
Parameter is a = 2 and b = 3
";Program(2, 3, $farr); // now make a bunch of string functions$sarr = array( create_function("$a, $b", "return "Lower case : " . strtolower($a) ;"), create_function("$a, $b", "return "Similar Character : " . similar_text($a, $b, $percent);")); echo "
Second array of anonymous functions" . "
Parameter is a = GeeksForGeeks and" . "b = GeeksForGeeks
"; Program("GeeksForGeeks", "GeeksForGeeks", $sarr);?> |
first array of anonymous functions Parameter is a = 2 and b = 3 a hypotenuse: 3.605551275464 b * a^2 = 4.2426406871193 min(a, b) = 2 Second array of anonymous functions Parameter is a = GeeksForGeeks andb = GeeksForGeeks Lower case : geeksforgeeks Similar Character : 13
Ссылки: http://php.net/manual/en/function.create-function.php