PHP - Ds Map::map() 函式



PHP 的 Ds\Map::map() 函式返回將回調應用於當前對映的每個值的計算結果,而不會影響原始對映。

回撥是一個對對映的每個元素執行特定操作的函式。例如,您可以使用回撥函式對對映的每個元素執行乘法、加法、strtoupper()等操作。

語法

以下是 PHP Ds\Map::map() 函式的語法:

public Ds\Map::map(callable $callback): Ds\Map

引數

以下是此函式的引數:

  • callback - 一個對對映的每個元素執行特定操作的函式。

以下是callback 函式的語法:

callback(mixed $key, mixed $value): mixed

返回值

此函式透過將回調應用於對映中的每個值來返回結果。

示例 1

以下是 PHP Ds\Map::map() 函式的基本示例:

<?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;  
   }));
?>

輸出

以上程式輸出以下內容:

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
        )

)

示例 2

以下是 PHP Ds\Map::map() 函式的另一個示例。我們使用此函式在將回調函式應用於此對映 (["Tutorials", "Point", "India"]) 的每個元素後檢索結果,該回調函式將字元轉換為大寫:

<?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";
   }	   
?>

輸出

執行以上程式後,將顯示以下輸出:

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
廣告