我一直在使用此脚本来查找匹配和不匹配的数组项。
我的代码是。
$filter1 = "red,green,blue,yellow";
$parts1 = explode(',', $filter1);
$filter2 = "red,green,blue";
$parts2 = explode(',', $filter2);
for($i=0; $i< count($parts1); $i++)
{
for($j=0; $j< count($parts2); $j++)
{
if($parts1[$i] == $parts2[$j])
{
$match[] = $parts1[$i];
} else {
$nomatch[] = $parts1[$i];
}
}
}
print_r($match);
echo "<br>";
print_r($nomatch);
通过使用此代码,我只会得到匹配的项目,而不会得到不匹配的项目。谁能帮忙。
提前致谢。
最佳答案
您可以尝试使用array_intersect
和array_diff
$filter1 = "red,green,blue,yellow";
$parts1 = explode(',', $filter1);
$filter2 = "red,green,blue";
$parts2 = explode(',', $filter2);
$match = array_intersect($parts1, $parts2);
$nomatch = array_diff($parts1, $parts2);
var_dump($match,$nomatch);
输出量
array
0 => string 'red' (length=3)
1 => string 'green' (length=5)
2 => string 'blue' (length=4)
array
3 => string 'yellow' (length=6)
关于php - PHP数组比较,查找匹配项和不匹配项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12689155/