PHP - Ds Deque::apply() 函数



PHP 的 Ds\Deque::apply() 函数用于通过对双端队列中的每个值应用回调函数来更新双端队列的所有值。

回调函数必须返回一个值,以便双端队列的旧值将被回调函数的返回值替换。

语法

以下是 PHP Ds\Deque::apply() 函数的语法:

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

参数

此函数接受一个名为“回调”函数的单个参数,如下所述:

  • callback − 它表示应用于双端队列中每个值的函数。

返回值

此函数不返回任何值。

示例 1

以下程序演示了 PHP Ds\Deque::apply() 函数的用法:

<?php 
   $deque = new \Ds\Deque([1, 2, 3, 4, 5]); 
   echo("The original deque: \n"); 
   print_r($deque);
   $deque->apply(function($element) {  
      return $element * 5;  
   });  
   echo("The updated deque: \n"); 
   print_r($deque); 
?>

输出

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

The original deque:
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
The updated deque:
Ds\Deque Object
(
    [0] => 5
    [1] => 10
    [2] => 15
    [3] => 20
    [4] => 25
)

示例 2

以下是 PHP Ds\Deque::apply() 函数的另一个示例。我们使用此函数通过应用提供的回调函数来更新此双端队列 ([10, 20, 30, 40, 50, 60]) 的所有值,该回调函数返回每个元素与 10 的模:

<?php 
   $deque = new \Ds\Deque([10, 20, 30, 40, 50, 60]);  
   echo("The original deque: \n"); 
   print_r($deque);
   $deque->apply(function($element) {  
      return $element % 10;  
   }); 
   echo("The updated deque: \n"); 
   print_r($deque);
?>

输出

上述程序产生以下输出:

The original deque:
Ds\Deque Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
    [5] => 60
)
The updated deque:
Ds\Deque Object
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 0
)

示例 3

在下面的示例中,我们使用 apply() 函数通过使用提供的回调函数在每个元素中添加 10 来更新此双端队列 ([0, 0, 0, 0]) 的元素值:

<?php 
   $deque = new \Ds\Deque([0, 0, 0, 0]);  
   echo("The original deque: \n"); 
   print_r($deque);
   $deque->apply(function($element) {  
      return $element + 10;  
   }); 
   echo("\nThe updated deque: \n"); 
   print_r($deque); 
?>

输出

执行上述程序后,它生成以下输出:

The original deque:
Ds\Deque Object
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
)

The updated deque:
Ds\Deque Object
(
    [0] => 10
    [1] => 10
    [2] => 10
    [3] => 10
)
php_function_reference.htm
广告