PHP - Ds Set::intersect() 函数



PHP 的 Ds\Set::intersect() 函数用于通过与另一个集合的值相交来创建一个新的集合。交集指的是两个集合中的共同值。

此函数使用当前实例和另一个集合共有的值。也就是说,返回当前实例的副本,其中已删除不在另一个集合中存在的所有值。

下面的表达式清楚地解释了此函数的工作原理:

A ∩ B = {x : x ∈ A ∧ x ∈ B}

语法

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

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

参数

以下是此函数的参数:

  • set − 此参数指定另一个集合。

返回值

此函数返回当前实例与另一个集合的交集。

示例 1

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

<?php
$set1 = new \Ds\Set([1,2,3,4,5,6,7]);
echo "Set1 elements are: \n";
print_r($set1);
$set2 = new \DS\Set([1,2,3,4]);
echo "Set2 elements are: \n";
print_r($set2);
echo "The elements after the intersection: \n";
var_dump($set1->intersect($set2)); 
?>

输出

上述程序产生以下输出:

Set1 elements are:
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
)
Set2 elements are:
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
The elements after the intersection:
object(Ds\Set)#3 (4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
}

示例 2

以下是 PHP Ds\Set::intersect() 函数的另一个示例。我们使用此函数创建一个新的集合,该集合与另一个集合 ([84, 85, 86]) 的值相交:

<?php
$set1 = new \Ds\Set([81, 82, 83]);
echo "Set1 elements are: \n";
print_r($set1);
$set2 = new \DS\Set([84, 85, 86]);
echo "Set2 elements are: \n";
print_r($set2);
echo "The elements after the intersection: \n";
var_dump($set1->intersect($set2)); 
?>

输出

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

Set1 elements are:
Ds\Set Object
(
    [0] => 81
    [1] => 82
    [2] => 83
)
Set2 elements are:
Ds\Set Object
(
    [0] => 84
    [1] => 85
    [2] => 86
)
The elements after the intersection:
object(Ds\Set)#3 (0) {
}

示例 3

在下面的示例中,我们使用 intersect() 函数创建一个新的集合,该集合与另一个集合 (['a', 'b', 'c', 'd']) 的值相交:

<?php
$set1 = new \Ds\Set(['a', 'e', 'i', 'o', 'u']);
echo "Set1 elements are: \n";
print_r($set1);
$set2 = new \Ds\Set(['a', 'b', 'c', 'd']);
echo "Set2 elements are: \n";
print_r($set2);
echo "The elements after the intersection: \n";
var_dump($set1->intersect($set2)); 
?>

输出

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

Set1 elements are:
Ds\Set Object
(
    [0] => a
    [1] => e
    [2] => i
    [3] => o
    [4] => u
)
Set2 elements are:
Ds\Set Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
The elements after the intersection:
object(Ds\Set)#3 (1) {
  [0]=>
  string(1) "a"
}
php_function_reference.htm
广告