PHP - Ds Vector::apply() 函式



PHP 的 Ds\Vector::apply() 函式用於透過將回調函式應用於每個值來更新向量中的所有值。

回撥函式透過對每個元素執行加、減、乘等運算來返回更新後的值,並將該更新後的值儲存迴向量中。

語法

以下是 PHP Ds\Vector::apply() 函式的語法:

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

引數

以下是此函式的引數:

  • callback - 應用於向量中每個值的回撥函式。

以下是 callback 函式的語法:

callback(mixed $value): mixed

返回值

此函式不返回任何值。

示例 1

以下是 PHP Ds\Vector::apply() 函式的基本示例:

<?php 
   $vector = new \Ds\Vector([10, 20, 30, 40, 50]); 
   echo "The vector elements are: \n";
   print_r($vector);
   #callback function   
   $callback = function($value) { 
      return $value / 5;  
   };
   #using apply() function
   $vector->apply($callback);
   echo "The updated vector elements are: \n"; 
   print_r($vector); 
?>

輸出

執行上述程式後,將顯示以下輸出:

The vector elements are:
Ds\Vector Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)
The updated vector elements are:
Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

示例 2

以下是 PHP Ds\Vector::apply() 函式的另一個示例。我們使用此函式透過對該向量的每個元素 (["Tutorials", "Point", "India"]) 應用回撥函式來更新所有值:

<?php 
   $vector = new \Ds\Vector(["Tutorials", "Point", "India"]); 
   echo "The vector elements are: \n";
   print_r($vector);
   #callback function   
   $callback = function($value) { 
      return strtoupper($value);  
   };
   #using apply() function
   $vector->apply($callback);
   echo "The updated vector elements are: \n"; 
   print_r($vector); 
?>

輸出

上述程式生成以下輸出:

The vector elements are:
Ds\Vector Object
(
    [0] => Tutorials
    [1] => Point
)
The updated vector elements are:
Ds\Vector Object
(
    [0] => TUTORIALS
    [1] => POINT
)

示例 3

在下面的示例中,我們使用 apply() 函式透過應用回撥函式來更新所有向量元素。回撥函式將每個元素乘以 2 並加 10

<?php 
   $vector = new \Ds\Vector([1, 2, 3, 4, 5]); 
   echo "The vector elements are: \n";
   print_r($vector);
   #callback function   
   $callback = function($value) { 
      return $value*2 + 10;  
   };
   #using apply() function
   $vector->apply($callback);
   echo "The updated vector elements are: \n"; 
   print_r($vector);
?>

輸出

執行上述程式後,將生成以下輸出:

The vector elements are:
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
The updated vector elements are:
Ds\Vector Object
(
    [0] => 12
    [1] => 14
    [2] => 16
    [3] => 18
    [4] => 20
)
php_function_reference.htm
廣告