开发者

How to compare 2 different length arrays to eachother

I'm trying to make a function that compares two diff开发者_StackOverflow社区erent length arrays to each other and if they match then some actions are performed. Array1, cell1 compares to array2, cell1, cell2, cellN... Then Array1, cell2 compares to array2, cell1, cell2, cellN...

Something resembling this:

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

How can this be implemented?


PHP has in_array for searching an array for a particular value. So what about

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


You can get the difference of the Arrays with the PHP function array_diff.

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

print_r($result);
?>

Results in

Array
(
    [1] => blue
)


You can use nested loops for this.

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


kindly correct the errors. im comparing the arrays values to display respectively with their paired one

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

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

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


Even if answered I think, just for reference, is good to know that you can make:

$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
}

NOTE: may give some problems with associative arrays.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜