<?php
$a[0]["streamtitle"]= "SEM-VI";
$a[1]["streamtitle"]= "CE";
$a[2]["streamtitle"]= "B.E.";
$b[0]["streamtitle"] = "SEM-VI,CE,B.E.";
$b[1]["streamtitle"] = "SEM-VII,CE,B.E.";
$b[2]["streamtitle"] = "SEM-VIII,CE,B.E.";
$b[3]["streamtitle"] = "SEM-VI,EC,B.E.";
$b[4]["streamtitle"] = "SEM-VI,CE,B.E.";
$i=0;
for($i=0; $i<sizeof($b); $i++) {
if (strstr($b[$i]["streamtitle"], $a[0]["streamtitle"]) && strstr($b[$i]["streamtitle"], $a[1]["streamtitle"]) && strstr($b[$i]["streamtitle"], $a[2]["streamtitle"]))
print "found ".'</br>';
else
print "not found".'</br>';
}
?>
こんにちは、私は$aと同じ値を持つ配列$bから値をフィルタリングしています。上記のコードはしばらくは正常に機能していますが、SEM-Vを指定すると失敗します。私が取るとき
$a[0]["streamtitle"]= "SEM-V";
$a[1]["streamtitle"]= "CE";
$a[2]["streamtitle"]= "B.E.";
各文字列にはサブ文字列として「SEM-V」が含まれ、CE、BEも一般的であり、SEM-V、SEM-VI、SEM-VIIIなどであるため、$bの4つの要素に一致します。
「SEM-V」のみに一致するアイデアを提案してください。