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