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