PHP - create_function ()

La funzione create_function () è una funzione incorporata che può essere utilizzata per creare una funzione anonima (in stile lambda).

Sintassi

string create_function( string $args , string $code )

La funzione create_function () può creare una funzione anonima dai parametri passati e restituire un nome univoco. Di solito, gli argomenti vengono passati come una stringa negli apostrofi consigliati anche per il parametro code. Il motivo per utilizzare le stringhe apostrofo è proteggere i nomi delle variabili dall'elaborazione. In altre parole, se usiamo le virgolette, dobbiamo eseguire l'escape di tutti i nomi delle variabili in questo modo: \ $ avar.

La funzione create_function () può restituire un nome di funzione univoco come stringa o false in caso di errore.

Esempio 1

<?php
   $triangle = create_function('$b, $h', 'return "triangle = " . ($b*$h)/2;');
   echo $triangle(4,6);
?>

Produzione

triangle = 12

Esempio 2

<?php
   $str = "hello world!";
   $lambda = create_function('$match', 'return "friend!";');
   $str = preg_replace_callback('/world/', $lambda, $str);
   
   echo $str ;
?>

Produzione

hello friend!!