PHP - Ds Map::apply() 函数



PHP 的 Ds\Map::apply() 函数用于通过对每个值应用回调函数来更新所有值。此函数接受一个回调函数,该函数应替换当前映射的原始值。

语法

以下是 PHP Ds\Map::apply() 函数的语法 -

public Ds\Map::apply(callable $callback): void

参数

以下是此函数的功能 -

  • callback - 应用于每个元素的可调用函数。

以下是 callback 函数的语法 -

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

返回值

此函数不返回值。

示例 1

以下是 PHP Ds\Map::apply() 函数的基本示例 -

<?php 
   $map = new \Ds\Map([10, 20, 30, 40, 50]);
   echo "The map elements are: \n";
   print_r($map);
   echo "The map after applying the callback function: \n";
   $func = function($key, $value) { 
      return $value + 10;
   }; 
   $map->apply($func); 
   print_r($map);
?>

输出

以上程序产生以下输出 -

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
        )

    [3] => Ds\Pair Object
        (
            [key] => 3
            [value] => 40
        )

    [4] => Ds\Pair Object
        (
            [key] => 4
            [value] => 50
        )

)
The map after applying the callback function:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 0
            [value] => 20
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => 30
        )

    [2] => Ds\Pair Object
        (
            [key] => 2
            [value] => 40
        )

    [3] => Ds\Pair Object
        (
            [key] => 3
            [value] => 50
        )

    [4] => Ds\Pair Object
        (
            [key] => 4
            [value] => 60
        )

)

示例 2

以下是 PHP Ds\Map::apply() 函数的另一个示例。我们使用此函数通过对该映射 (["1" => "Tutorials", "2" => "Point", "3" => "India"]) 的每个值应用回调函数来更新所有元素 -

<?php 
   $map = new \Ds\Map(["1" => "Tutorials", "2" => "Point", "3" => "India"]);
   echo "The map elements are: \n";
   print_r($map);
   echo "The map elements are applying callback function: \n";
   $map->apply(function($key, $value){  
      return strtoupper($value);
   });
   print_r($map);
?>

输出

执行上述程序后,将显示以下输出 -

The map elements are:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 1
            [value] => Tutorials
        )

    [1] => Ds\Pair Object
        (
            [key] => 2
            [value] => Point
        )

    [2] => Ds\Pair Object
        (
            [key] => 3
            [value] => India
        )

)
The map elements are applying callback function:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 1
            [value] => TUTORIALS
        )

    [1] => Ds\Pair Object
        (
            [key] => 2
            [value] => POINT
        )

    [2] => Ds\Pair Object
        (
            [key] => 3
            [value] => INDIA
        )

)
php_function_reference.htm
广告
© . All rights reserved.