私はこのコードを使用して2つの値を比較してきましたが、一致するアイテムを正確に取得しています。唯一の問題は、一致しないアイテムにあります。
$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(strpos($parts1[$i],$parts2[$j]) !== false)
{
$match[] = $parts1[$i];
}
else
{
$nomatch[] = $parts2[$j];
}
}
}
print_r($match);
echo "<br>";
print_r($nomatch);
そして私が結果として得ているのは
Array ( [0] => red [1] => green [2] => blue )
Array ( [0] => green [1] => blue [2] => red [3] => blue [4] => red [5] => green [6] =>
red [7] => green [8] => blue )
配列1は完全に一致する値を示していますが、配列2は黄色ではなくばかげた結果を示しています。