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

© . All rights reserved.