Heim > Backend-Entwicklung > PHP-Tutorial > 两个数组中交集的个数是否相等

两个数组中交集的个数是否相等

WBOY
Freigeben: 2016-07-06 13:52:30
Original
1251 Leute haben es durchsucht

统计两个数组中交集的个数是否相等 谢谢

====================================
补充:
$a=array('1','2');
$b=array('1','2','3','2');

再数组a中1和2分别出现了一次
但在数组b中1出现一次,2出现两次

交集是1和2 我现在想知道出现的次数是否相等

回复内容:

统计两个数组中交集的个数是否相等 谢谢

====================================
补充:
$a=array('1','2');
$b=array('1','2','3','2');

再数组a中1和2分别出现了一次
但在数组b中1出现一次,2出现两次

交集是1和2 我现在想知道出现的次数是否相等

既然是交集,那就应该是相等的了,两个数组都有的元素才叫交集。集合概念你没弄懂,集合是不允许有重复元素的。

集合的基础概念理解有偏差,集合中元素是互斥的,所以都只会出现一次。相应的,交集的元素在各集合都只会出现一次。

看你举例的需求,将算出来的交集遍历一下进行判断就好了。

<code>$arr1 = [1,2];
$arr2 = [1,2,3,2];

$intersect = array_intersect($arr1, $arr2);

$result = array();
foreach ($intersect as $item) {
    $result[$item] = array('arr1' => 0, 'arr2' => 0);
}

foreach ($arr1 as $item) {
    if (isset($result[$item])) {
        $result[$item]['arr1'] += 1;
    }
}

foreach ($arr2 as $item) {
    if (isset($result[$item])) {
        $result[$item]['arr2'] += 1;
    }
}</code>
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage