12

我如何制作一个 if 语句来检查字符串是否包含正斜杠?

$string = "Test/Test";   
if($string .......)
{
    mysql_query(""); 
} 
else 
{
    echo "the value contains a invalid character"; 
} 
4

4 回答 4

16

您可以使用 strpos,这将确保字符串中有一个正斜杠,但您需要通过一个等式运行它以确保它不是假的。在这里你可以使用strstr()。它的代码简短而简单,可以完成工作!

if(strstr($string, '/')){
    //....
}

对于那些靠说明书生死存亡的人来说,当草垛很大,或者针很小的时候strstr(),不管说明书上说什么,用起来都更快。

例子:

使用strpos():0.00043487548828125

使用strstr():0.00023317337036133

于 2012-06-27T11:46:22.160 回答
8
if(strpos($string, '/') !== false) {
  // string contains /
}

来自strstr的 PHP 手册:

笔记:

如果您只想确定某个特定的针是否出现在 haystack 中,请改用更快且内存占用更少的函数 strpos()。

于 2012-06-27T11:46:18.833 回答
0

采用strpos()

如果它不返回 false,则该字符已匹配。

于 2012-06-27T11:47:25.850 回答
0

我将 strpos() 结果与 0 进行了比较。不知何故,与 false 的比较对我不起作用。

if (strpos($t, '/') !== 0) {
  echo "No forward slash!";
}
于 2021-09-20T21:57:59.573 回答