如何查找变量是否包含某些字符? PHP

时间:2014-02-21 15:37:24

标签: php

简介

在搜索中,我想搜索年龄范围。

如果用户以这种方式插入“ - ”包含的输入,例如 10-30  我将显示年龄大于10且小于30岁的人员名单。

我的问题

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

从这里开始进行查询之前我想做两个条件, 一:如果用户输入中有' - ',是吗?如果是的话,我想查询为是,如果不是相反的话。

那么,我怎样才能进入第一个条件?

2 个答案:

答案 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';
}