PHP - Ds\PriorityQueue::copy() 函式



PHP 的 Ds\PriorityQueue::copy() 函式用於返回佇列的淺複製。此函式不接受任何引數。

語法

以下是 PHP Ds\PriorityQueue::copy() 函式的語法:

public Ds\PriorityQueue::copy(): Ds\PriorityQueue

引數

copy() 函式不接受任何引數。

返回值

此函式返回一個新的 Ds\PriorityQueue 物件,它是原始物件的淺複製。

PHP 版本

copy() 函式從 Ds 擴充套件的 1.0.0 版本開始可用。

示例 1

我們將向您展示 PHP Ds\PriorityQueue::copy() 函式建立佇列淺複製的基本示例。

<?php
   // Create a new instance of PriorityQueue
   $pqueue = new \Ds\PriorityQueue();  
   $pqueue->push("Tutorials", 1); 
   $pqueue->push("Point", 2); 
   $pqueue->push("India", 3); 
  
   print_r($pqueue->copy());
?>

輸出

以上程式碼將產生類似這樣的結果:

Ds\PriorityQueue Object
(
    [0] => India
    [1] => Point
    [2] => Tutorials
)

示例 2

現在我們將使用 copy() 函式來複制使用 \Ds\PriorityQueue 類建立的空佇列。

<?php
   // Create a new instance of the PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   $copyQueue = $pqueue->copy();
   
   print_r($pqueue);
   print_r($copyQueue);
?> 

輸出

這將生成以下輸出:

Ds\PriorityQueue Object
(
)
Ds\PriorityQueue Object
(
)

示例 3

在下面的程式碼中,我們將使用 copy() 函式來演示原始佇列中的更改如何不影響已複製的佇列。因此,在實際佇列中新增額外元素不會影響已複製的佇列。

<?php
   // Create a new instance of the PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   $pqueue->push("Task 1", 1);
   $pqueue->push("Task 2", 2);
   
   $copyQueue = $pqueue->copy();
   $pqueue->push("Task 3", 3);
   
   print_r($pqueue);
   print_r($copyQueue);
?> 

輸出

這將建立以下輸出:

Ds\PriorityQueue Object
(
    [0] => Task 3
    [1] => Task 2
    [2] => Task 1
)
Ds\PriorityQueue Object
(
    [0] => Task 2
    [1] => Task 1
)

示例 4

在下面的示例中,我們使用 copy() 函式迭代複製的 Ds\PriorityQueue。

<?php
   // Create a new instance of the PriorityQueue
   $pqueue = new \Ds\PriorityQueue();
   $pqueue->push("Task 1", 1);
   $pqueue->push("Task 2", 2);
   
   $copyQueue = $pqueue->copy();
   
   foreach ($copyQueue as $value) {
       echo $value . "\n";
   }
?> 

輸出

以下是上述程式碼的輸出:

Task 2
Task 1
php_function_reference.htm
廣告