PHP - Ds Vector::map() 函数



PHP 的 Ds\Vector::map() 函数用于获取将回调函数应用于向量中每个值的结果。此函数不会影响当前实例,而是返回一个新的结果。

“回调函数”是一个可调用的函数,它应该返回新向量中新的值。

语法

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

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

参数

以下是此函数的参数:

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

以下是 callback 函数的语法:

callback(mixed $value): mixed

返回值

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

示例 1

以下程序演示了 PHP Ds\Vector::map() 函数的使用:

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

输出

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

The original vector:
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\Vector::map() 函数的另一个示例。我们使用此函数通过将回调函数应用于此向量的每个元素 ([5, 15, 25, 35, 45]) 来检索结果:

<?php 
   $vector = new \Ds\Vector([5, 15, 25, 35, 45]);
   echo "The original vector is: \n";
   print_r($vector);
   echo "The result of applying callback function: \n";
   var_dump($vector->map(function($value) {  
      return $value <= 30; 
   })); 
?>

输出

上述程序产生以下输出:

The original vector is:
Ds\Vector Object
(
    [0] => 5
    [1] => 15
    [2] => 25
    [3] => 35
    [4] => 45
)
The result of applying callback function:
object(Ds\Vector)#3 (5) {
  [0]=>
  bool(true)
  [1]=>
  bool(true)
  [2]=>
  bool(true)
  [3]=>
  bool(false)
  [4]=>
  bool(false)
}
php_function_reference.htm
广告