2014-02-21 42 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

相关问题