Skip to content
Advertisement

get array_intersect count without duplicates php

I have 2 arrays:

$first = array(1,1,2,3,4);
$second = array(1,2,3,4,5);

when i use $count = array_intersect($first, $second);, and count($count); the matches, it shows 5, resulting in 1 intersecting twice. I need to get 4, which doesn’t count duplicates.

how can I achieve that in php?

thanks in advance.

Advertisement

Answer

It’s very simple: first make sure your arrays are unique, and then apply array_intersect:

$count = count(array_intersect(array_unique($first), array_unique($second)));

Repro case on 3v4l.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement