好工作,我有我的DB這些表:PHP - 的strstr()不使用MySQL
表A:
id | haystack
-------------
1 | 682,401
2 | 351
表B:
id | needle
-------------
1 | 352
2 | 682
3 | 978
所有我想要的要做的是檢查表A中的乾草堆是否包含表B中的任何針。我在PHP中使用了此代碼:
$res_A = mysql_query('SELECT * FROM table_A');
while($row_A = mysql_fetch_array($res_A)){
$res_B = mysql_query('SELECT * FROM table_B');
while($row_B = mysql_fetch_array($res_A)){
if(strlen(strstr($row_A['haystack'], $row_B['needle']) > 0)){
echo 'I found this needle: '.$row_B['needle'].' in this haystack: '.$row_A['haystack'].'<br />';
}
}
}
但是,它不起作用。我試圖弄清楚整天,但沒有機會。我需要提及的是乾草堆和針塔是Varchars。
你能幫我解決這個問題嗎? 在此先感謝!
什麼是「它不工作」是什麼意思?發生了什麼?你期望什麼? – KingCrunch
首先,除非你總是有3個數字,否則使用'strstr'不是一個好主意。 (如果針頭含有52,但乾草堆有252?)另外,嘗試在乾草堆上使用['explode'](http://php.net/manual/en/function.explode.php)方法,然後使用[' in_array'](http://us3.php.net/manual/en/function.in-array.php)。 –
我期待看到在table_a.haystack中包含table_b.needle的table_a.id(我希望我很清楚)。是的,看起來strstr不是一個好主意,所以我用sql代替了許多人的建議。這更容易和更快。 – Cosmi