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


How to find if a variable contains certain character or not ? PHP

本问题已经有最佳答案,请猛点这里访问。

简介

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

如果用户以这种方式插入一个"-"包含的输入,如10-30我将显示10岁以上30岁以下的人的列表。

我的问题

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

从这里进入进行查询之前,我想做两个条件,一:用户输入中是否有‘-’?如果是,我想按查询,如果不是按另一种方式查询。

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


这将起作用:

1
2
3
4
5
6
7
8
9
// 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...
}

()

不该做什么

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

上面的示例将使您陷入困境,因为strpos()可以返回0(零),这是一个有效的字符串位置,就像它是一个有效的数组位置一样。

这就是为什么必须检查=== false的原因。


只需使用此strstr函数:

1
2
3
4
$string= 'some string with - values ';
if(strstr($string, '-')){
    echo 'symbol is isset';
}