Php 检查数组是否包含其他数组的所有元素?

Php 检查数组是否包含其他数组的所有元素?,php,Php,我有2个数组,第二个数组必须包含第一个数组中的所有元素,如何检查?多谢各位 For example array 1: Array ( [0] => Email [1] => 1_Name ) array 2: Array ( [0] => 1_Name [1] => ) In this case it is invalid , as array 2 do not have Email array 1: Array ( [0] => Email [1] =&

我有2个数组,第二个数组必须包含第一个数组中的所有元素,如何检查?多谢各位

For example

array 1: Array ( [0] => Email [1] => 1_Name )
array 2:  Array ( [0] => 1_Name [1] => ) 

In this case it is invalid , as array 2 do not have Email

array 1: Array ( [0] => Email [1] => 1_Name )
array 2:  Array ( [0] => 1_Name [1] => Address [2]=> Email )

 In this case it is valid 
使用并测试其输出长度是否相同:

if (count(array_intersect($arr1, $arr2)) === count($arr1)) {
  // contains all
}
对于键也必须匹配的关联数组,请改用。

在此处可能很有用

if( array_diff($array1,$array2)) {
    // array1 contains elements that are not in array2
    echo "invalid";
}
else {
    // all elements of array1 are in array2
    echo "valid";
}

有一个
array\u intersect()
像@Michael建议的那样。如果您想知道缺少哪个元素,可以使用
array_diff()

您不应该对$arr2进行计数吗?@stackoverownewbie实际上并不重要。关键是两者的交点与第一个或第二个的内容相同,因此包含相同的集合。
if( array_diff($array1,$array2)) {
    // array1 contains elements that are not in array2
    echo "invalid";
}
else {
    // all elements of array1 are in array2
    echo "valid";
}