ADS - GoldenWeb.it Directory "Premium" Links

Ozonizzatore domestico Ozobox
L'ozonizzatore Ozobox porta il benessere e la freschezza dell'ozono in casa: Il primo elettrodomestico in grado di sanificare aria, acqua e casa in modo completamente naturale sfruttando le proprietà antisettiche dell'ozono! l'ozono possiede una potente carica antimicotica, in grado di eliminare il 99% dei batteri presenti e degli agenti inquinanti. Ozobox consente di trasformare l'ossigeno in ozono per sanificare in modo naturale l'acqua del rubinetto, l'aria, gli oggetti, gli alimenti
Vendita lastre plexiglass su misura
Sito di vendita online lastre di plexiglass tagliate su misura al laser. Il configuratore di prodotto permette di scegliere forme e misure diverse per ciascuna lastra. Le spedizioni avvengono tramite corriere espresso in tutta Italia, sia verso aziende sia verso clienti privati. Il sito ha una sezione informativa composta da articoli inerenti la lavorazione di materie plastiche.
Bet365 bookmaker aams
Codice Bonus bet365: per te bonus benvenuto fino a 100. Scommetti sullo sport 2018! - si applicano T&C (gioca responsabile 18+) - registrati qui!
Ritiro auto incidentate
Compriamo auto incidentate fuse. Azienda Italiana compra auto usate incidentate, auto sinistrate o fuse, macchine con problemi di meccanica, le spese sono a carico dell'acquirente ritiro e passaggio. visita il nostro sito internet per avere una proposta d'acquisto senza impegno

Inserisci il tuo sito nella directory...

Manuale PHP


Anonymous functions

Anonymous functions, also known as closures, allow the creation of functions which have no specified name. They are most useful as the value of callback parameters, but they have many other uses.

Example #1 Anonymous function example

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return 
strtoupper($match[1]);
}, 
'hello-world');
// outputs helloWorld
?>

Closures can also be used as the values of variables; PHP automatically converts such expressions into instances of the Closure internal class. Assigning a closure to a variable uses the same syntax as any other assignment, including the trailing semicolon:

Example #2 Anonymous function variable assignment example

<?php
$greet 
= function($name)
{
    
printf("Hello %srn"$name);
};

$greet('World');
$greet('PHP');
?>

Closures may also inherit variables from the parent scope. Any such variables must be declared in the function header. Inheriting variables from the parent scope is not the same as using global variables. Global variables exist in the global scope, which is the same no matter what function is executing. The parent scope of a closure is the function in which the closure was declared (not necessarily the function it was called from). See the following example:

Example #3 Closures and scoping

<?php
// A basic shopping cart which contains a list of added products
// and the quantity of each product. Includes a method which
// calculates the total price of the items in the cart using a
// closure as a callback.
class Cart
{
    const 
PRICE_BUTTER  1.00;
    const 
PRICE_MILK    3.00;
    const 
PRICE_EGGS    6.95;

    protected 
$products = array();
    
    public function 
add($product$quantity)
    {
        
$this->products[$product] = $quantity;
    }
    
    public function 
getQuantity($product)
    {
        return isset(
$this->products[$product]) ? $this->products[$product] :
               
FALSE;
    }
    
    public function 
getTotal($tax)
    {
        
$total 0.00;
        
        
$callback =
            function (
$quantity$product) use ($tax, &$total)
            {
                
$pricePerItem constant(__CLASS__ "::PRICE_" .
                    
strtoupper($product));
                
$total += ($pricePerItem $quantity) * ($tax 1.0);
            };
        
        
array_walk($this->products$callback);
        return 
round($total2);
    }
}

$my_cart = new Cart;

// Add some items to the cart
$my_cart->add('butter'1);
$my_cart->add('milk'3);
$my_cart->add('eggs'6);

// Print the total with a 5% sales tax.
print $my_cart->getTotal(0.05) . "n";
// The result is 54.29
?>

Anonymous functions are implemented using the Closure class.

Note: Anonymous functions are available since PHP 5.3.0.

Note: It was not possible to use $this from anonymous function before PHP 5.4.0.

Note: It is possible to use func_num_args(), func_get_arg(), and func_get_args() from within a closure.