Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP - Ds Deque::set() Function



The PHP Ds\Deque::set() function updates the existing value in the current deque at a specified index. When the function is invoked the specified value will replace the existing value at the given index.

The index (position) starts from 0. The index value 0 represents the first element, 1 represents the second element, and so on.

If the specified index is negative or greater than the deque size (or not valid), this function will throw an "OutOfRangeException" exception.

Syntax

Following is the syntax of the PHP Ds\Deque::set() function −

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

Parameters

Following are the parameters of this function −

  • index − An integer value that specifies the index of the value to update.
  • value − This parameter represents a new value.

Return value

This function does not return any value.

Example 1

The following program demonstrates the usage of the PHP Ds\Deque::set() function −

<?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); 
?>

Output

The above program displays the following output −

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
)

Example 2

Following is another example of the PHP Ds\Deque::set() function. We use this function to update this deque (['a', 'b', 'c', 'd']) value with "end" at the specified index 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);
?>

Output

After executing the above program, the following output will be displayed −

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
)

Example 3

If the specified index is invalid, this function will throw an "OutOfRangeException" as follows:

<?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);
?>

Output

Once the above program is executed, it will throw the following exception −

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
Advertisements