简介
在搜索中,我想搜索年龄范围。
如果用户以这种方式插入“ - ”包含的输入,例如 10-30 我将显示年龄大于10且小于30岁的人员名单。
我的问题
$q = mysql_real_escape_string(htmlspecialchars("user input from search field"));
从这里开始进行查询之前我想做两个条件, 一:如果用户输入中有' - ',是吗?如果是的话,我想查询为是,如果不是相反的话。
那么,我怎样才能进入第一个条件?
答案 0 :(得分:3)
这将有效:
// 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
答案 1 :(得分:2)
只需使用此strstr功能:
$string= 'some string with - values ';
if(strstr($string, '-')){
echo 'symbol is isset';
}