2012-07-16 18 views
1

我試圖使用strpos在使用PHP的字符串中搜索一些關鍵字。我的問題是如何添加數組,以便在下面的代碼中搜索「keyword1」和「keyword2」。使用strpos()搜索針數組的數組(012)

if (strpos($string,'keyword1') !== false) { 
$hasstring = "yes"; 
} 

感謝

+1

你能更具體嗎?我不知道你想要達到什麼。 – 2012-07-17 00:01:39

+0

你在搜索KW1還是KW2?我不明白你爲什麼說要添加一個數組 - 這會混淆問題。 – MJB 2012-07-17 00:01:53

+0

可能的重複[在strpos中使用數組作爲針](http://stackoverflow.com/questions/6284553/using-an-array-as-needles-in-strpos) – 2014-02-24 12:39:28

回答

-1

如果我正確理解你的問題,是不是需要一個數組。你可以簡單地使用strpos兩次有或(在PHP中,||)運算符

if (strpos($string,'keyword1') || strpos($string,'keyword2')) { 
$hasstring = "yes"; 
} 
+0

這隻佔2個關鍵字,那麼關於什麼「n」個關鍵字? – antoniovassell 2017-02-13 09:33:47

+0

如果您正在搜索文本文件中可能的關鍵字列表,我認爲數組也可能是可能的。 E.G在簡歷中搜索技術技能,數組可以包含$ skill =(Html,Java,PHP,mysql,Oracle,android) – Asuquo12 2017-10-19 05:24:52

8

你不能給strpos一個數組,所以你將不得不做手工。

$keywords = array('keyword1', 'keyword2'); 

foreach($keywords as $keyword) { 
    if (strpos($string, $keyword) !== false) { 
     $hasString = true; 
     break; // stops searching the rest of the keywords if one was found 
    } 
}