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