nor1m
@nor1m
web-developer

Как вывести совпадения из 2 массивов?

Доброго времени суток.
Как быстрее и правильнее вывести повторяющиеся в другом массиве элементы первого массива ?
Например:
$array = [
    "1" => "foo",
    "2" => "bar",
];

$array2 = [
    "1" => "def",
    "2" => "foo",
];

$array2 = [
    "1" => "dec",
    "2" => "foo",
];

Должно вывести foo в другой массив.
Я использую такой способ - я сравниваю в цикле все элементы массива с последующим массивом, и все совпадения отправляю в другой массив. Но это долго, с учетом того, что массивов может быть много и кол-во их элементов достигать 10млн.
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
@ipokos
array_unique(array_intersect($array, $array2))
Но как вам писали выше, лучше делить такой объем...
а так, при тесте на 100к элементов в массивах (только числа), выполнение занимает около 1мб памяти
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы