php验证一个数组是否包含另外一个数组

更新时间:2023-08-05 09:52
使用 array_intersect 函数来检查一个数组是否包含另一个数组中的元素。
 
$array1 = [ "110000", "111111", '1111' ];
$array2 = [ "110000", "" ];

$intersection = array_intersect($array1, $array2);

if (count($intersection) === count($array2)) {
    echo "数组包含所有元素";
} else {
    echo "数组不包含所有元素";
}
除了使用 array_intersect,你还可以使用循环来手动检查一个数组是否包含另一个数组中的元素。下面是使用循环来实现的方法:
$array1 = [ "110000", "111111", '1111' ];
$array2 = [ "110000", "" ];

$containsAll = true;

foreach ($array2 as $element) {
    if (!in_array($element, $array1)) {
        $containsAll = false;
        break;
    }
}

if ($containsAll) {
    echo "数组包含所有元素";
} else {
    echo "数组不包含所有元素";
}
可以使用 array_diff 函数来检查一个数组是否包含另一个数组中的元素。array_diff 函数返回在第一个数组中存在但在其他数组中不存在的值。如果你想检查一个数组是否包含另一个数组中的所有元素,你可以使用以下方法:
$array1 = [ "110000", "111111", '1111' ];
$array2 = [ "110000", "" ];

$difference = array_diff($array2, $array1);

if (empty($difference)) {
    echo "数组包含所有元素";
} else {
    echo "数组不包含所有元素";
}