两个具有相同值的数组

I have two arrays.

I need to make a foreach where it loops the values that is the same in both arrays. The arrays are not in same order and one of the arrays have more values than the other array.

I could do this.

foreach($array1 as $items1)
{
  foreach($array2 as $items2)
  {
     if($items1 == $items2)
     Echo "Match!";
  }
}

But that takes a lot of time to load

Edit

I dont get any matches.

Array 1

$array1 = array();

    while($fetch = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
    {
          $array1[] = array("a" => $fetch['value']);
    }

Array 2

$filename = "test.txt";

$fp = @fopen($filename, 'r'); 

if ($fp) {
$array2 = explode("
", fread($fp, filesize($filename)));
}

CODE

array_unshift($array2,"b");

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

You can use array_intersect:

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

You can use PHP in built function array_intersect()

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

Output

Array
(
    [a] => green
    [0] => red
)

Note : Returns an array containing all of the values in array1 whose values exist in all of the parameters.