我有两个阵列。
我需要创建一个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);
答案 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中所有值的所有值,其值存在于所有参数中。