2012-04-08 27 views
0
<?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>'; 
} 

?>文字列内の部分文字列のマッチング

こんにちはすべて、 私は$と同じ値を持つ配列$ bから値をフィルタリングしています。 上記のコードはしばらくはうまくいきますが、SEM-Vを実行すると失敗します。 私が取るとき、それは、各文字列はサブとCE、B.E.として 'SEM-V' を含むあるB $から4つの要素が一致する

$a[0]["streamtitle"]= "SEM-V"; 
$a[1]["streamtitle"]= "CE"; 
$a[2]["streamtitle"]= "B.E."; 

また一般的ですが、...

は私にだけ 'SEM-V' と一致するいくつかのアイデアを提案してください....それはSEM-V、SEM-VI、SEM-VIIIなどでもかまいません

答えて

1

streamtitleのフォーマットでカンマが区切り文字として使用されている場合は、「SEM-V」ではなく「SEM-V」と一致させることができます。

その他のオプションには、ストリームの爆発とさまざまな部分のチェックが含まれます。

$parts = explode(",", $b[1]["streamtitle"]); 
if($parts[0] == $a[0]["streamtitle"] 
    && $parts[1] == $a[1]["streamtitle"] 
    && $parts[2] == $a[2]["streamtitle"]) 
{ 
    print "found<br />"; 
} 
else print "not fond<br />"; 
+0

+1しかし、彼が彼のコードに埋め込む方法を教えてください。 – Baba

+0

ok ..私はそれを得ました..コードを表示する必要はありません。 –

関連する問題