PHP | función crear_función()

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";
?>
Producció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);
?>
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *