PHP - Ds Set::merge() 函式



PHP 的 Ds\Set::merge() 函式檢索將所有給定值新增到當前集合的結果。此函式不影響當前例項。

這意味著,如果您向當前集合新增值並嘗試在新增後顯示集合的元素,它將顯示原始集合的值。

要顯示包含所有給定元素的集合,您需要建立一個新集合並存儲 merge() 函式的結果。然後,您可以顯示包含所有新新增值的新集合。

語法

以下是 PHP Ds\Set::merge() 函式的語法:

public Ds\Set::merge(mixed $values): Ds\Set

引數

以下是此函式的引數:

  • values - 一個遍歷物件或一個數組(或需要新增的值)。

返回值

此函式返回將所有給定值新增到集合的結果。

示例 1

以下程式演示了 PHP Ds\Set::merge() 函式的使用:

<?php  
   $set = new \Ds\Set([1, 2, 3]);
   echo "The original set values are: \n";
   print_r($set);
   $obj = ([4, 5, 6]);
   echo "The values needs to be added: \n";
   print_r($obj); 
   $new_set = $set->merge($obj);
   echo "The set values after adding: \n";
   print_r($new_set);
?> 

輸出

執行上述程式後,它將顯示以下輸出:

The original set values are:
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
The values needs to be added:
Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)
The set values after adding:
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)

示例 2

以下是 PHP Ds\Set::merge() 函式的另一個示例。我們使用此函式來檢索將所有指定的陣列或遍歷物件值 ["o", "u"] 新增到此集合 (["a", "e", "i"]) 的結果:

<?php  
   $set = new \Ds\Set(["a", "e", "i"]);
   echo "The original set values are: \n";
   print_r($set);
   $obj = (["o", "u"]);
   echo "Values needs to be added: \n";
   print_r($obj);
   echo "The set after adding values: \n";
   #using merge() function 
   $new_set = $set->merge(["o", "u"]);
   print_r($new_set);
?>  

輸出

上述程式產生以下輸出:

The original set values are:
Ds\Set Object
(
    [0] => a
    [1] => e
    [2] => i
)
Values needs to be added:
Array
(
    [0] => o
    [1] => u
)
The set after adding values:
Ds\Set Object
(
    [0] => a
    [1] => e
    [2] => i
    [3] => o
    [4] => u
)

示例 3

正如我們之前所討論的,當前例項不會受到影響,因此如果我們嘗試顯示原始集合的值,它將顯示與新增之前相同的輸出。

<?php  
   $set = new \Ds\Set([10, 20]);
   echo "The original set values are: \n";
   print_r($set);
   $obj = ([30, 40]);
   echo "Values needs to be added: \n";
   print_r($obj);
   echo "The set after adding values: \n";
   #using merge() function 
   $set->merge(["o", "u"]);
   print_r($set);
?>

輸出

執行上述程式後,它將生成以下輸出:

The original set values are:
Ds\Set Object
(
    [0] => 10
    [1] => 20
)
Values needs to be added:
Array
(
    [0] => 30
    [1] => 40
)
The set after adding values:
Ds\Set Object
(
    [0] => 10
    [1] => 20
)
php_function_reference.htm
廣告