php判断一个数组是否为另一个数组子集的方法

发布时间:2019-10-19编辑:脚本学堂
本文介绍下,在php编程中,判断一个数组是否为另一个数组的子集的方法,有需要的朋友参考学习下。

本节内容:
php数组子集的判断方法与示例。

在实现一个算法的过程中,有判断$a数组是否是$b数组的子集,php提供的系统功能函数可以调用,这里分享下具体的实现代码。

需求
最少的时间复杂度判断$a数组是否是$b数组的子集
 

复制代码 代码示例:
// 快速的判断$a数组是否是$b数组的子集 
$a = array(135,138); 
$b = array(135,138,137); 

实现方法:
方法1,for循环遍历
 

复制代码 代码示例:
<?php
$flag = 1; 
foreach ($a as $va) { 
    if (in_array($va, $b)) { 
        continue
    }else { 
        $flag = 0; 
        break
    } 

 
if ($flag) { 
    echo "Yes"; 
}else { 
    echo "No"; 

方法2,array_diff的使用
array_diff

代码:
 

复制代码 代码示例:
<?php
$c = array_diff($a, $b); 
print_r($c); 
$flag = empty($c)?1 : 0; 
 
if ($flag) { 
    echo "Yes"; 
}else { 
    echo "No"; 

方法3,array_intersect的使用
array_intersect

例子:
 

复制代码 代码示例:
<?php
if ($a == array_intersect($a, $b)) { 
    $flag = 1; 
}else { 
    $flag = 0; 

 
if ($flag) { 
    echo "Yes"; 
}else { 
    echo "No"; 
}