如何比较2个不同长度的数组

时间:2011-06-10 08:13:51

标签: php

我正在尝试创建一个函数,将两个不同长度的数组相互比较,如果它们匹配,则执行一些操作。 Array1,cell1与array2,cell1,cell2,cellN ...比较Array1,cell2比较array2,cell1,cell2,cellN ...

类似于此的东西:

if(array1[$i]==array2[])
{
   // Some actions...
}

如何实施?

5 个答案:

答案 0 :(得分:6)

PHP有in_array用于在数组中搜索特定值。那么

foreach ($array1 as $search_item)
{
    if (in_array($search_item, $array2))
    {
        // Some actions...
        break;
    }
}

答案 1 :(得分:3)

你可以通过PHP函数array_diff获得数组的差异。

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

结果

Array
(
    [1] => blue
)

答案 2 :(得分:2)

您可以使用嵌套循环。

for($i=0; $i<count($array1); $i++){
    for($j=0; $j<count($array2); $j++){
        if($array1[$i] == $array2[$j]){
            //some action here
        }
    }
}

答案 3 :(得分:1)

请更正错误。我将比较数组值分别与其配对的数据进行比较

if((cardnumb1 [1] == 123456789)&amp;&amp;(passcode [1] == 1234))

                         else if ((cardnumb1[2]==987654321) && (passcode[2]==4567))

                         else if ((cardnumb1[3]==123789456) && (passcode[3]==7890))

答案 4 :(得分:0)

即使回答我认为,仅供参考,很高兴知道你可以:

$array_1 = array(1,2,3,4,5);
$array_2 = array(2,4,6,8);

foreach (array_intersect($array_1,$array_2) as $match){
    //do something
}

注意:可能会给关联数组带来一些问题。