Tutorial by Examples

Anonymous functions can be assigned to variables for use as parameters where a callback is expected: $uppercase = function($data) { return strtoupper($data); }; $mixedCase = ["Hello", "World"]; $uppercased = array_map($uppercase, $mixedCase); print_r($uppercased); ...
The use construct is used to import variables into the anonymous function's scope: $divisor = 2332; $myfunction = function($number) use ($divisor) { return $number / $divisor; }; echo $myfunction(81620); //Outputs 35 Variables can also be imported by reference: $collection = []; $a...
There are several PHP functions that accept user-defined callback functions as a parameter, such as: call_user_func(), usort() and array_map(). Depending on where the user-defined callback function was defined there are different ways to pass them: Procedural style: function square($number) { ...
In functions taking callable as an argument, you can also put a string with PHP built-in function. It's common to use trim as array_map parameter to remove leading and trailing whitespace from all strings in the array. $arr = [' one ', 'two ', ' three']; var_dump(array_map('trim', $arr)); ...
An anonymous function is just a function that doesn't have a name. // Anonymous function function() { return "Hello World!"; }; In PHP, an anonymous function is treated like an expression and for this reason, it should be ended with a semicolon ;. An anonymous function should b...
In PHP, an anonymous function has its own scope like any other PHP function. In JavaScript, an anonymous function can access a variable in outside scope. But in PHP, this is not permitted. $name = 'John'; // Anonymous function trying access outside scope $sayHello = function() { return &q...
A closure is an anonymous function that can't access outside scope. When defining an anonymous function as such, you're creating a "namespace" for that function. It currently only has access to that namespace. $externalVariable = "Hello"; $secondExternalVariable = "Foo&qu...
A pure function is a function that, given the same input, will always return the same output and are side-effect free. // This is a pure function function add($a, $b) { return $a + $b; } Some side-effects are changing the filesystem, interacting with databases, printing to the screen. //...
class SomeClass { public function __invoke($param1, $param2) { // put your code here } } $instance = new SomeClass(); $instance('First', 'Second'); // call the __invoke() method An object with an __invoke method can be used exactly as any other function. The __invoke meth...
Mapping Applying a function to all elements of an array : array_map('strtoupper', $array); Be aware that this is the only method of the list where the callback comes first. Reducing (or folding) Reducing an array to a single value : $sum = array_reduce($numbers, function ($carry, $number) { ...

Page 1 of 1