php: array_uintersect с динамическим числом массивов

у меня есть foreach цикл, который возвращает переменное количество массивов.

Мне нужно бежать array_uintersect между ними с пользовательской функцией, чтобы найти общие элементы, но array_uintersect принимает только 3 параметра (2 массива и функцию).

Вот что я сейчас имею:

$all_freaktag_favorites = array();

foreach ($serie_preferite as $serie_preferita) {
$preferite_elements = pods('category', $serie_preferita['term_id']);
$freaktag_preferita = $preferite_elements->field('freaktag');

$all_freaktag_favorites[] = $freaktag_preferita;
}

function comparaFreaktag($tag1, $tag2) {
return strcmp($tag1['term_id'], $tag2['term_id']);
};

$common_freaktag_between_favorites = array_uintersect(
$all_freaktag_favorites[0],
$all_freaktag_favorites[1],
'comparaFreaktag'
);

Это правильно возвращает мне пересечение между первыми 2 массивами в цикле, но я не знаю, как это сделать с неопределенным числом массивов.

Спасибо!

0

Решение

Поместите все массивы в родительский массив и используйте оператор распространения:

$all = [[/** xxx */, [/** xxx */], [/** xxx */], ...];

$all[] = 'comparaFreaktag';

$common_freaktag_between_favorites = array_uintersect(...$all);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector