PHP - Ds Set::diff() 函数



PHP 的 Ds\Set::diff() 函数创建一个新的集合,其中包含另一个集合中不存在的所有值。

如果第一个集合中的值也存在于第二个集合中,则此函数返回一个 empty() 集合。例如,set1 = ([1, 2]),set2 = ([1, 2, 3]),因此 set1->diff(set2) 将为空 (),因为 set1 的值 12 存在于 set2 中。

语法

以下是 PHP Ds\Set::diff() 函数的语法:

public Ds\Set Ds\Set::diff( Ds\Set $set )

参数

以下是此函数的参数:

  • set - 包含要排除的值的另一个集合。

返回值

此函数返回一个新集合,其中包含不在另一个集合中的所有值。

示例 1

以下程序演示了 Ds\Set::diff() 函数的使用:

<?php  
   $set1 = new \Ds\Set([1, 2, 3]);
   echo "The set1 elements are: \n";
   print_r($set1);   
   $set2 = new \Ds\Set([3, 4, 5]);
   echo "The set2 elements are: \n";
   print_r($set2);   
   echo("The difference of set1 and set2: \n");  
   print_r($set1->diff($set2)); 
?>

输出

上述程序生成以下输出:

The set1 elements are:
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
The set2 elements are:
Ds\Set Object
(
    [0] => 3
    [1] => 4
    [2] => 5
)
The difference of set1 and set2:
Ds\Set Object
(
    [0] => 1
    [1] => 2
)

示例 2

如果第一个集合的所有元素也存在于第二个集合中,则此函数将返回一个 empty () 集合。

以下是 PHP Ds\Set::diff() 函数的另一个示例。我们使用此函数检索一个新集合,其中包含此集合 ([10, 20, 30, 40, 50]) 中不存在的所有元素:

<?php  
   $set1 = new \Ds\Set([10, 20, 30]);
   echo "The set1 elements are: \n";
   print_r($set1);   
   $set2 = new \Ds\Set([10, 20, 30, 40, 50]);
   echo "The set2 elements are: \n";
   print_r($set2);   
   echo("The difference of set1 and set2: \n");  
   print_r($set1->diff($set2)); 
?>

输出

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

The set1 elements are:
Ds\Set Object
(
    [0] => 10
    [1] => 20
    [2] => 30
)
The set2 elements are:
Ds\Set Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)
The difference of set1 and set2:
Ds\Set Object
(
)

示例 3

如果第一个集合的所有元素都不存在于第二个集合中,则 PHP Ds\Set::diff() 函数将返回一个新集合,其中包含另一个集合中不存在的所有值:

<?php  
   $set1 = new \Ds\Set(["Tutorials", "Point", "India"]);
   echo "The set1 elements are: \n";
   print_r($set1);   
   $set2 = new \Ds\Set(["Tutorix", "India"]);
   echo "The set2 elements are: \n";
   print_r($set2);   
   echo("The difference of set1 and set2: \n");  
   print_r($set1->diff($set2)); 
?>

输出

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

The set1 elements are:
Ds\Set Object
(
    [0] => Tutorials
    [1] => Point
    [2] => India
)
The set2 elements are:
Ds\Set Object
(
    [0] => Tutorix
    [1] => India
)
The difference of set1 and set2:
Ds\Set Object
(
    [0] => Tutorials
    [1] => Point
)
php_function_reference.htm
广告