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