检查两个数组是否具有相同的值

时间:2019-09-12 15:48:21

标签: php arrays

有什么办法可以检查两个数组是否包含相同的值?

array (size=1)
  0 => string '209' (length=3)

array (size=4)
  0 => string '209' (length=3)
  1 => string '208' (length=3)
  2 => string '1' (length=1)
  3 => string '2' (length=1)

我想看看是否可以得到209个它们在两个数组中都匹配

2 个答案:

答案 0 :(得分:1)

您可以组合使用两个功能。首先是array_intersect,它将选择数组之间的公共值。

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

这也可以包含重复项。因此,在此之后,您可以使用

过滤值

$result = array_unique($result)

这些将是两个数组之间的公共值。

答案 1 :(得分:0)

您可以为此使用in_array功能

$searchVal = '209';
if (in_array($searchVal, $array1) && in_array($searchVal, $array2)) {
   echo "$searchVal is in both arrays!";
}

如果您需要大量重复使用此代码,甚至可以将其变成一个函数:

function in_arrays($needle, $array1, $array2) {
    if (in_array($needle, $array1) && in_array($needle, $array2)) {
        return true;
    }
    return false;
}

// in use:
$searchVal = '209';
if(in_arrays($searchVal, $firstArray, $secondArray) {
    echo "$searchVal is found in both arrays";
}