比较2个组的数组

时间:2016-07-03 23:02:54

标签: php arrays

所以基本上我有两组需要比较的组。 但是它总是会返回'FALSE',任何想法?

function QuickGroupCompare()
{
    $pre = '2,3,4';
    $groupids = '10,5,6,3,4,2,18,1';

    $l_Group = explode(",", $pre);
    $m_Group = explode(",", $groupids);

    foreach ($l_Group as $index => $i_x)
    {
        if ($i_x == $m_Group[$index])
            return 'CORRECT';
    }

    return 'FALSE';
}
echo QuickGroupCompare();

1 个答案:

答案 0 :(得分:2)

如果您想简单确定$a中是否存在$b中的某个数字,您可以使用array_intersect

function compare($a, $b)
{
    return !empty(array_intersect($a, $b));
}

Example

var_dump(compare($l_Group, $m_Group));              // true
var_dump(compare($l_Group, explode(',', '6,7,8'))); // false

在函数调用之后将布尔结果转换为'CORRECT'或'FALSE',在这种情况下最好从函数本身返回一个布尔值:

$result = compare($a, $b);
echo $result ? 'CORRECT' : 'FALSE';