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