推理过程: A和B全部4种情况 a有b有 a有b无 a无b有 a无b无 根据条件得结论是:a无b无要得到a有b有(即为包含=子集).根据条件a无b无,那么否定 a无b有和a有b无,只剩下a有b有,即A是B的子集。

同理可得:

在php中,

array array_diff ( array $array1 , array $array2 [, array $... ] )

Desc:
Compares array1 against one or more other arrays and returns the values in array1 that are not present in any of the other arrays.

test.php

<?php
    $a = array(1,2,3);
    $b = array(1,2,4);
    $c = array(1,2,3,4);
    $flag1 = array_diff($a,$b);
    $flag2 = array_diff($a,$c);
    if(empty($flag1)){
        echo "\$a是\$b的子集";
    }else{
        echo "\$a不是\$b的子集";
    } 
    if(empty($flag2)){
        echo "\$a是\$c的子集";
    }else{
        echo "\$a不是\$c的子集";
    } 

输出结果:

$a不是$b的子集
$a是$c的子集

以后就方便用来判断数组包含了。