比较2个数组的值

时间:2011-06-06 22:16:01

标签: php arrays

我不确定使用哪个php函数..

如何检查一个数组是否具有另一个数组中可用的值?

例如,我有一个提交CSV的文本输入--- $str = "green, yellow, blue"

我使用str_getcsv()创建字符串数组。然后我想将数组1与下面的数组2进行比较

$array2 = array("green","yellow","orange","purple");

我正在将数组1与数组2进行比较,以确保允许提交的值。因此,如果数组1中的数值不存在于数组2中,我想返回false。我尝试了以下但它不起作用..

        $array1 = str_getcsv($str); //create array of colors
        $array2 = array("green","yellow","orange","purple"); //allowed colors

        if (!in_array($array1, $array2)) if value from array1 not in array2
        {
            return FALSE;
        }
        else 
        {
            return TRUE;
        }

这比我想象的要复杂吗?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

您可以使用array_intersect()来获取在该数组中设置的值,然后检查是否在结果中设置了值。

http://php.net/manual/en/function.array-intersect.php

您也可以使用array_diff()并设置是否在结果中设置了值。

http://www.php.net/manual/en/function.array-diff.php