2012-04-08 106 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具有相同的價值作爲$ a的值。 上面的代碼在一段時間內工作正常,但當我給SEM-V時失敗。 當i取

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

它從$四個元素匹配B中的每個串包含 'SEM-V' 作爲子串和CE,B.E.也是常見的,無所謂它是SEM-V,SEM-VI,SEM-VIII等....

請建議我一些想法,只匹配 'SEM-V' ....

回答

1

如果流標題的格式始終使用逗號作爲分隔符,則可以匹配「SEM-V」而不是「SEM-V」。

其他選項包括爆炸streamtitle和檢查不同的部分。

$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 2012-04-08 13:05:33

+0

好吧..我知道了..不需要顯示代碼..謝謝 – 2012-04-08 14:30:22

相關問題