PHP - Ds Set::xor() 函数



PHP 的Ds\Set::xor()函数用于通过使用当前实例和另一个集合中的值来创建一个新集合,但这两个集合中都不包含这些值。

这意味着,如果两个集合中的值相等,则此函数返回的集合将为空([])。例如,set1 = ([1, 2, 3]),set2 = ([1, 2, 3]),则 set1->xor(set2) = ([])。

以下是计算两个集合XOR的公式:

A XOR B = (A Union B) - (A Intersection B)

这里,A被视为第一个集合,B被视为第二个集合。

语法

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

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

参数

以下是此函数的参数:

  • set - 另一个集合包含一组值。

返回值

此函数返回两个集合的 XOR,即异或。

示例 1

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

<?php  
   $set1 = new \Ds\Set([1, 2, 3,]);  
   $set2 = new \Ds\Set([2, 3, 4, 5]);
   echo "The set1 elements are: \n";
   print_r($set1);
   echo "The set2 elements are: \n";
   print_r($set2);
   echo("The xor of both set: \n");
   #using xor() method  
   var_dump($set1->xor($set2));
?>

输出

以上程序产生以下输出:

The set1 elements are:
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
The set2 elements are:
Ds\Set Object
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
)
The xor of both set:
object(Ds\Set)#3 (3) {
  [0]=>
  int(1)
  [1]=>
  int(4)
  [2]=>
  int(5)
}

示例 2

以下是 PHP Ds\Set::xor() 函数的另一个示例。我们使用此方法来检索一个新集合,该集合包含此集合 (["Hello", "Tutorials", "Point", "India"]) 和另一个集合 (["Tutorials", "Point", "India"]) 中的值,但这两个集合中都不包含这些值。

<?php  
   $set1 = new \Ds\Set(["Hello", "Tutorials", "Point", "India"]);  
   $set2 = new \Ds\Set(["Tutorials", "Point", "India"]);
   echo "The set1 elements are: \n";
   print_r($set1);
   echo "The set2 elements are: \n";
   print_r($set2);
   echo("The xor of both set: \n");
   #using xor() method  
   var_dump($set1->xor($set2));
?7gt;

输出

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

The set1 elements are:
Ds\Set Object
(
    [0] => Hello
    [1] => Tutorials
    [2] => Point
    [3] => India
)
The set2 elements are:
Ds\Set Object
(
    [0] => Tutorials
    [1] => Point
    [2] => India
)
The xor of both set:
object(Ds\Set)#3 (1) {
  [0]=>
  string(5) "Hello"
}

示例 3

如果两个集合中的值完全相同,则XOR()函数将返回两个集合的 XOR 作为新的空集合([])

<?php  
   $set1 = new \Ds\Set(['a', 'e', 'i', 'o', 'u']);  
   $set2 = new \Ds\Set(['a', 'e', 'i', 'o', 'u']);
   echo "The set1 elements are: \n";
   print_r($set1);
   echo "The set2 elements are: \n";
   print_r($set2);
   echo("The xor of both set: \n");
   #using xor() method  
   var_dump($set1->xor($set2));
?>

输出

执行上述程序后,它将生成以下输出:

The set1 elements are:
Ds\Set Object
(
    [0] => a
    [1] => e
    [2] => i
    [3] => o
    [4] => u
)
The set2 elements are:
Ds\Set Object
(
    [0] => a
    [1] => e
    [2] => i
    [3] => o
    [4] => u
)
The xor of both set:
object(Ds\Set)#3 (0) {
}
php_function_reference.htm
广告