This article mainly for you in detail the PHP closure function, the closure function does not have a function name, directly in the function () when the variable can be used as a function of the variables defined as functions to deal with, the PHP closure function interested friends can refer to
The anonymous function is also called a closure function (closures allows you to create a function that is not specified, most often as the value of a callback function parameter.
echo Preg_replace_callback (' ~-([A-z] ~ ', function ($match) { return Strtoupper ($match [1]);}, ' Hello-world '); '
Using the Use
$message = ' Hello '; $example = function () use ($message) { var_dump ($message);}; Echo $example ();//Output Hello$message = ' world ';//output Hello because the value of the inherited variable is when the function is defined and not when the function is called Echo $example ();/Reset to hello$ message = ' Hello ';//here Reference $example = function () use (& $message) {var_dump ($message);}; Echo $example ();//Output Hello$message = ' world '; echo $example ();//Here the output world//closure function is also used for normal value $message = ' Hello '; $example = function ($data) use ($message) { return "{$data},{$message}";}; echo $example (' World ');
Example
Class cart{//Defines constants in a class with the Const keyword, rather than the usual define () function. Const Price_butter = 1.00; Const PRICE_MILK = 3.00; Const PRICE_EGGS = 6.95; protected $products = []; Public function Add ($product, $quantity) {$this->products[$product] = $quantity; The Public Function getquantity ($product) {//has the return isset defined ($this->products[$product])? $this->products[$pro Duct]:false; The Public Function gettotal ($tax) {$total = 0.0; $callback = function ($quantity, $product) use ($tax, & $total) {//constant Returns the value of the constant//__class__ returns the class name $price = constant (__class__. "::P rice_". Strtoupper ($product)); $total + = ($price * $quantity) * ($tax +1.0); }; The Array_walk () function applies a user-defined function to each element in an array. In the function, the key name and key value of the array are parameter Array_walk ($this->products, $callback); Callback anonymous function return round ($total, 2); }} $my _cart = new Cart (), $my _cart->add (' Butter ', 1), $my _cart->add (' Milk ', 3); $my _cart->add (' eggs ', 6);p rint ( $my _cart->gettotal (0.05));
Summary : The above is the entire content of this article, I hope to be able to help you learn.
Related recommendations:
PHP Metaphone () function and PHP localeconv () function examples
PHP image upload class and call method
PHP array_unshift () modify array key considerations and example analysis