PHP - Ds Map::map() Function
The PHP Ds\Map::map() function returns the result of applying a callback to each value of the current map without affecting the original map.
The callback is a function that performs a specific operation on each element of the map. For example, you can use the callback function to perform operations such as multiplication, addition, strtoupper(), etc., on each element of the map.
Syntax
Following is the syntax of the PHP Ds\Map::map() function −
public Ds\Map::map(callable $callback): Ds\Map
Parameters
Following is the parameter of this function −
- callback − A function that applies a specific operation on each element of the map.
Following is the syntax of the callback function −
callback(mixed $key, mixed $value): mixed
Return value
This function returns the result by applying a callback to each value in a map.
Example 1
The following is the basic example of the PHP Ds\Map::map() function −
<?php
$map = new \Ds\Map([10, 20, 30]);
echo "The map elements are: \n";
print_r($map);
echo "The result after applying callback function: \n";
#using map() function
print_r($map->map(function($key, $value){
return $value * 2;
}));
?>
Output
The above program produces the following output −
The map elements are:
Ds\Map Object
(
[0] => Ds\Pair Object
(
[key] => 0
[value] => 10
)
[1] => Ds\Pair Object
(
[key] => 1
[value] => 20
)
[2] => Ds\Pair Object
(
[key] => 2
[value] => 30
)
)
The result after applying callback function:
Ds\Map Object
(
[0] => Ds\Pair Object
(
[key] => 0
[value] => 20
)
[1] => Ds\Pair Object
(
[key] => 1
[value] => 40
)
[2] => Ds\Pair Object
(
[key] => 2
[value] => 60
)
)
Example 2
Following is another example of the PHP Ds\Map::map() function. We use this function to retrieve a result after applying the callback function on each element of this map (["Tutorials", "Point", "India"]) that convert the characters into an uppercase −
<?php
$map = new \Ds\Map(["Tutorials", "Point", "India"]);
echo "The map elements are: \n";
foreach($map as $key=>$value){
echo "[".$key."] = ".$value."\n";
}
echo "\nThe result after applying callback function: \n";
#using map() function
$result = $map->map(function($key, $value){
return strtoupper($value); #convert to uppercase
});
foreach($result as $key=>$value){
echo "[".$key."] = ".$value."\n";
}
?>
Output
After executing the above program, it will display the following output −
The map elements are: [0] = Tutorials [1] = Point [2] = India The result after applying callback function: [0] = TUTORIALS [1] = POINT [2] = INDIA