PHP - Ds Deque::set() 函数



PHP 的 Ds\Deque::set() 函数更新双端队列中指定索引处的现有值。当调用该函数时,指定的值将替换给定索引处的现有值。

索引(位置)从 0 开始。索引值 0 表示第一个元素,1 表示第二个元素,依此类推。

如果指定的索引为负数或大于双端队列的大小(或无效),则此函数将抛出“OutOfRangeException”异常。

语法

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

public Ds\Deque::set(int $index, mixed $value):void 

参数

以下是此函数的参数:

  • index − 一个整数值,指定要更新的值的索引。
  • value − 此参数表示一个新值。

返回值

此函数不返回值。

示例 1

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

<?php 
   $deque = new \Ds\Deque([1, 2, 3, 4, 5]); 
   echo("The original deque: \n"); 
   print_r($deque);
   $index = 4;
   $val = 10;
   echo "The given index and value is: ".$index.", ".$val;
   #using set() function   
   $deque->set($index, $val); 
   echo "\nThe deque after updating value at index ".$index.": \n"; 
   print_r($deque); 
?>

输出

以上程序显示以下输出:

The original deque:
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
The given index and value is: 4, 10
The deque after updating value at index 4:
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 10
)

示例 2

以下是 PHP Ds\Deque::set() 函数的另一个示例。我们使用此函数以“end”更新此双端队列(['a', 'b', 'c', 'd']) 在指定索引3处的值:

<?php
   $deque = new \Ds\Deque(['a', 'b', 'c', 'd']);
   echo "The original deque elements are: \n";
   print_r($deque);
   $index = 3;
   $value = "end";
   echo "The given index and value is: ".$index.", ".$value;
   echo "\nThe deque after updating value: ";
   $deque->set($index, $value);
   print_r($deque);
?>

输出

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

The original deque elements are:
Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
The given index and value is: 3, end
The deque after updating value: Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => end
)

示例 3

如果指定的索引无效,此函数将抛出“OutOfRangeException”异常,如下所示

<?php
   $deque = new \Ds\Deque([1, 2, 3]);
   echo "The original deque elements are: \n";
   print_r($deque);
   $index = 4;
   $value = 20;
   echo "The given index and value is: ".$index.", ".$value;
   echo "\nThe deque after updating a value: ";
   $deque->set($index, $value);
   print_r($deque);
?>

输出

执行上述程序后,将抛出以下异常:

The original deque elements are:
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
The given index and value is: 4, 20
The deque after updating a value: PHP Fatal error:  Uncaught OutOfRangeException: 
Index out of range: 4, expected 0 <= x <= 2 in C:\Apache24\htdocs\index.php:9
Stack trace:
#0 C:\Apache24\htdocs\index.php(9): Ds\Deque->set(4, 20)
#1 {main}
  thrown in C:\Apache24\htdocs\index.php on line 9
广告