两个具有相同值的数组

时间:2015-03-11 12:04:31

标签: php arrays

我有两个阵列。

我需要创建一个foreach,它循环两个数组中相同的值。数组的顺序不同,其中一个数组的值多于另一个数组。

我能做到这一点。

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

但这需要花费大量时间才能加载

修改

我没有得到任何比赛。

数组1

$array1 = array();

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

数组2

$filename = "test.txt";

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

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

CODE

array_unshift($array2,"b");

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

2 个答案:

答案 0 :(得分:0)

您可以使用array_intersect

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

答案 1 :(得分:0)

您可以在内置函数array_intersect()

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

<强>输出

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

注意:返回一个数组,其中包含array1中所有值的所有值,其值存在于所有参数中。