0

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;
}

似ているが反対の概念は、2 つのリストが互いに素であるという考えです。これにより、共通の要素はまったくありません。

たとえば、リスト 1,2,3,4 と 4,5,6,7 は、共通の要素4を持っているため互いに素ではありませんが、リスト 1,2,3 と 4,5,6 は、共通要素なし。

素性をチェックする関数はどのように設計されますか?

4

2 に答える 2

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);
}
于 2012-08-01T20:00:59.750 に答える
1

if (count(array_intersect($a, $b)) == 0) { /* do something */ }

于 2012-08-01T20:01:14.293 に答える