PHP - Ds Sequence::map() 函数



PHP 的 Ds\Sequence::map() 函数用于通过将回调函数应用于原始序列中的每个值来创建一个新序列。

回调函数应该是可调用的,并且将为序列中的每个元素调用。它返回将包含在新序列中的转换后的值。

语法

以下是PHP Ds\Sequence::map() 函数的语法:

abstract public Ds\Sequence::map(callable $callback): Ds\Sequence

参数

此函数接受以下参数:

  • callback - 应用于序列中每个值的回调函数。

以下是callback函数的语法:

callback(mixed $value): mixed

返回值

此函数返回将回调函数应用于序列中每个值的结果。

示例 1

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

<?php
   $seq = new \Ds\Vector([1, 2, 3, 4, 5]);
   echo "The sequence elements are: \n";
   print_r($seq);
   echo "The result of applying callback function: \n";
   print_r($seq->map(function($value) { 
      return $value * 5; 
   }));
?>

输出

上述程序产生以下输出:

The sequence elements are:
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
The result of applying callback function:
Ds\Vector Object
(
    [0] => 5
    [1] => 10
    [2] => 15
    [3] => 20
    [4] => 25
)

示例 2

以下是PHP Ds\Sequence::map() 函数的另一个示例。我们使用此函数来检索将回调函数应用于此序列 ([10, 20, 30, 40, 50]) 的每个元素的结果:

<?php
   $seq = new \Ds\Vector([10, 20, 30, 40, 50]);
   echo "The sequence elements are: \n";
   print_r($seq);
   echo "The result of applying callback function: \n";
   print_r($seq->map(function($value) { 
      return ($value + 10) * 2; 
   }));
?>

输出

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

The sequence elements are:
Ds\Vector Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)
The result of applying callback function:
Ds\Vector Object
(
    [0] => 40
    [1] => 60
    [2] => 80
    [3] => 100
    [4] => 120
)
php_function_reference.htm
广告