Php 确定数组1是否包含来自数组2的所有值

Php 确定数组1是否包含来自数组2的所有值,php,arrays,Php,Arrays,我有两个数组,可能看起来像这样: $a1 = array('c','b','a'); $a2 = array('a', 'b', 'c', 'd', 'e'); 我需要检查$a1中的每个值是否都存在于$a2中 我已经查看了array\u diff和array\u intersect,但看不到如何使用它们,因为它们只返回分别存在和不存在的值。请查看以下内容: 好的,我会说得更清楚: _array()中的函数为您提供了一个布尔值,如果指针在干草堆中。 所以,像这样的一句话对你很有用: $retu

我有两个数组,可能看起来像这样:

$a1 = array('c','b','a');
$a2 = array('a', 'b', 'c', 'd', 'e');
我需要检查
$a1
中的每个值是否都存在于
$a2

我已经查看了
array\u diff
array\u intersect
,但看不到如何使用它们,因为它们只返回分别存在和不存在的值。

请查看以下内容:

好的,我会说得更清楚:

_array()中的函数为您提供了一个布尔值,如果指针在干草堆中。 所以,像这样的一句话对你很有用:

$return = in_array($a1, $a2, true);
如果
$a1
位于
$a2
中,则函数返回true,否则返回false。第三个参数激活严格搜索,因此即使false是正确的,也不会返回值。

看看这个:

好的,我会说得更清楚:

_array()中的函数为您提供了一个布尔值,如果指针在干草堆中。 所以,像这样的一句话对你很有用:

$return = in_array($a1, $a2, true);

如果
$a1
位于
$a2
中,则函数返回true,否则返回false。第三个参数激活严格搜索,因此即使false是正确的,也不会返回。

我不确定“分别呈现”是什么意思,但array_diff是您要寻找的函数。只需确保按正确的顺序将数组传递到函数中即可。尝试:

// result = no
echo count( array_diff( $a1, $a2 ) ) ? 'yes' : 'no';
// result = yes
echo count( array_diff( $a2, $a1 ) ) ? 'yes' : 'no';

我不知道你所说的“分别呈现”是什么意思,但数组_diff是你正在寻找的函数。只需确保按正确的顺序将数组传递到函数中即可。尝试:

// result = no
echo count( array_diff( $a1, $a2 ) ) ? 'yes' : 'no';
// result = yes
echo count( array_diff( $a2, $a1 ) ) ? 'yes' : 'no';

你可以用像

sizeof(array_intersect($a1, $a2)) == sizeof($a1)

你可以用像

sizeof(array_intersect($a1, $a2)) == sizeof($a1)

这就是我要找的,谢谢!我想当我第一次尝试的时候,我是按错误的顺序传递的。这就是我想要的,谢谢!当我第一次尝试时,我想我传递它们的顺序是错误的,因为PHP4.2 in_array()接受所有参数的数组。因为PHP4.2 in_array()接受所有参数的数组。