2014-02-21 82 views
2

簡介如何查找變量是否包含某個字符? PHP

在搜索中,我想搜索年齡範圍。

,如果用戶插入「 - 」輸入包括像10-30這樣 我將顯示人名單年齡大於10且小於30

我的問題

$q = mysql_real_escape_string(htmlspecialchars("user input from search field")); 

從這裏進入查詢前我想提出兩個條件, 一:如果用戶輸入中有' - '或者不是?如果是的話,我想查詢,如果不是另一種方式。

那麼,我怎樣才能進入第一個條件?

+3

什麼是你的預算是多少?如果你想要我們製作所有的代碼,你不希望它是免費的,對吧? – h2ooooooo

+1

[strpos()](http://us3.php.net/strpos) – Sharlike

+0

謝謝你,我有一個很好的ROLMFHO時刻@ h2ooooooo –

回答

2

這將工作:

// use strpos() because strstr() uses more resources 
if(strpos("user input from search field", "-") === false) 
{ 
    // not found provides a boolean false so you NEED the === 
} 
else 
{ 
    // found can mean "found at position 0", "found at position 19", etc... 
} 

strpos()

什麼不該做

if(!strpos("user input from search field", "-")) 

上面的例子會搞砸你過去,因爲strpos()可以返回一個0(零)這是一個有效的字符串位置,就像它一樣是一個有效的數組位置。

這就是爲什麼它是絕對強制性檢查=== false

2

只需使用此功能strstr

$string= 'some string with - values '; 
if(strstr($string, '-')){ 
    echo 'symbol is isset'; 
} 
+0

sergio,雖然你的回答是正確的使用MonkeyZeus的解決方案是更少的內存密集型。 – PseudoNinja

+0

同意,這只是解決任務的方法之一 – sergio

相關問題