PHP判断一个数组是另一个数组子集的方法详解
需求最少的时间复杂度判断$a数组是否是$b数组的子集
// 快速的判断$a数组是否是$b数组的子集
$a = array(135,138);
$b = array(135,138,137);
array_diff 计算差集 PHP 4.0.1 以上可用
$c = array_diff($a, $b);
print_r($c);
$flag = empty($c)?1 : 0;
if ($flag) {
echo "Yes";
}else {
echo "No";
}
array_intersect 计算交集 (推荐) PHP 4.0.1 以上可用
为啥推荐这个函数 , 是因为这个函数计算完成后可以用IF来判断是否与原来数组相等;
if ($a == array_intersect($a, $b)) {
$flag = 1;
}else {
$flag = 0;
}
if ($flag) {
echo "Yes";//完全包含
}else {
echo "No";//不完全包含
}
页:
[1]