php: array_uintersect 数组的动态数量
php: array_uintersect with dynamic number of arrays
我有一个 foreach
循环,其中 returns 可变数量的数组。
我需要 运行 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'
);
这正确 returns 我是循环中前 2 个数组之间的交集,但我不知道如何使用未定义数量的数组来做到这一点。
谢谢!
将所有数组放入父数组并使用展开运算符:
$all = [[/** xxx */, [/** xxx */], [/** xxx */], ...];
$all[] = 'comparaFreaktag';
$common_freaktag_between_favorites = array_uintersect(...$all);
我有一个 foreach
循环,其中 returns 可变数量的数组。
我需要 运行 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'
);
这正确 returns 我是循环中前 2 个数组之间的交集,但我不知道如何使用未定义数量的数组来做到这一点。
谢谢!
将所有数组放入父数组并使用展开运算符:
$all = [[/** xxx */, [/** xxx */], [/** xxx */], ...];
$all[] = 'comparaFreaktag';
$common_freaktag_between_favorites = array_uintersect(...$all);