create_function() es una función incorporada en PHP que se usa para crear una función anónima (estilo lambda) en PHP.
Sintaxis:
string create_function ( $args, $code )
Parámetros: esta función acepta dos parámetros que se describen a continuación:
- $args: Es un argumento de función de tipo string.
- $code: Es un código de función de tipo string.
Nota: Por lo general, estos parámetros se pasarán como strings delimitadas por comillas simples. La razón para usar strings entre comillas simples es proteger los nombres de las variables del análisis; de lo contrario, se necesitarán comillas dobles para escapar de los nombres de las variables, por ejemplo, \$avar.
Valor devuelto: esta función devuelve un nombre de función único como una string; de lo contrario, devuelve FALSO en caso de error.
Los siguientes programas ilustran la función create_function() en PHP:
Programa 1: Creando una función anónima con 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\n"; echo $newfunc(2, M_E) . "\n"; ?>
New anonymous function: lambda_1 ln(2) + ln(2.718281828459) = 1.6931471805599
Programa 2: Crea una función general con 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) . "\n"; } } // 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" . "\nParameter is a = 2 and b = 3\n"; 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 "\nSecond array of anonymous functions" . "\nParameter is a = GeeksForGeeks and" . "b = GeeksForGeeks\n"; 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
Referencias: http://php.net/manual/en/function.create-function.php
Publicación traducida automáticamente
Artículo escrito por Mithun Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA