PHP - Ds Map::copy() 函数



PHP 的Ds\Map::copy()函数用于创建Ds\Map对象的浅拷贝,函数返回相同的浅拷贝。

集合(或映射)的浅拷贝是指属性与从中进行拷贝的源对象的属性共享相同引用的拷贝。

语法

以下是PHP Ds\Map::copy()函数的语法:

public Ds\Map::copy(): Ds\Map

参数

此函数不接受任何参数。

返回值

此函数返回映射的浅拷贝。

示例 1

以下是PHP Ds\Map::copy()函数的基本示例:

<?php  
   $map = new \Ds\Map([1, 2, 3]);
   echo "The map elements are: \n";
   print_r($map);
   echo "\nThe shallow copy of a map: \n";
   #using the copy() function
   print_r($map->copy());
?>

输出

上述程序产生以下输出:

The map elements are:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 0
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => 2
            [value] => 3
        )

)

The shallow copy of a map:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 0
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => 2
            [value] => 3
        )

)

示例 2

以下是PHP Ds\Map::copy()函数的另一个示例。我们使用此函数来检索此映射(["Tutorials", "Point", "India"])的浅拷贝:

<?php 
   $map = new \Ds\Map(["Tutorials", "Point", "India"]);
   echo "The map elements are: \n";
   print_r($map);
   print_r("The shallow copy of a map: \n");
   #using copy() function
   print_r($map->copy()); 
?>

输出

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

The map elements are:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 0
            [value] => Tutorials
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => Point
        )

    [2] => Ds\Pair Object
        (
            [key] => 2
            [value] => India
        )

)
The shallow copy of a map:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 0
            [value] => Tutorials
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => Point
        )

    [2] => Ds\Pair Object
        (
            [key] => 2
            [value] => India
        )

)

示例 3

在下面的示例中,我们使用copy()函数创建此映射(['a', 'b'])的浅拷贝:

<?php 
   $map = new \Ds\Map(['a', 'b']);
   echo "The map elements are: \n";
   foreach($map as $key=>$value){
	   echo "[".$key."] = ".$value."\n";
   }
   print_r("The shallow copy of a map: \n");
   #using copy() function
   $shallow_cpy = $map->copy();
   foreach($shallow_cpy as $key=>$value){
	   echo "[".$key."] = ".$value."\n";
   }
?>

输出

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

The map elements are:
[0] = a
[1] = b
The shallow copy of a map:
[0] = a
[1] = b
php_function_reference.htm
广告
© . All rights reserved.