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
php_function_reference.htm
Advertisements