# Ds\Queue::copy

(PECL ds >= 1.0.0)

Ds\Queue::copy — Returns a shallow copy of the queue

### Description

public Ds\Queue::copy ( ) : Ds\Queue

Returns a shallow copy of the queue.

### Parameters

This function has no parameters.

### Return Values

Returns a shallow copy of the queue.

### Examples

Example #1 Ds\Queue::copy() example

`<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = $a->copy();
// Updating the copy doesn't affect the original
$b->push(4);
print_r($a);
print_r($b);
?>`

The above example will output something similar to:

    Ds\Queue Object
    (
        [0] => 1
        [1] => 2
        [2] => 3
    )
    Ds\Queue Object
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
    )