在PHP中,可以使用以下函数来确定一个列表(子项)是否是另一个列表(父项):
function issubset($child, $parent)
{
$c = count($child);
$valid = 1;
for($i=0;$i<$c;$i++) {
if(!in_array($child[$i], $parent)) {
$valid = 0;
return $valid;
}
}
return $valid;
}
一个类似但相反的概念是两个列表不相交的想法,因此它们没有任何共同的元素。
例如,列表1,2,3,4和4,5,6,7不是不相交的,因为它们具有公共元素 4 ,但列表1,2,3和4,5,6是不相交的,因为它们没有共同的元素。
如何设计检查不相交的功能?
答案 0 :(得分:4)
function disjoint($arr1, $arr2) {
return (count(array_intersect($arr1, $arr2)) == 0);
}
function is_subset($parent, $possible_child) {
return count(array_intersect($parent, $possible_child)) == count($possible_child);
}
答案 1 :(得分:1)
if (count(array_intersect($a, $b)) == 0) { /* do something */ }