如果字符串包含正斜杠


If string contains forward slash

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

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

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

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

对于那些靠手册生死存亡的人来说,当大海捞针很大,或者针很小时,使用strstr()会更快,尽管手册上说了什么。

例:

使用strpos() : 0.00043487548828125

使用strstr():0.00023317337036133

if(strpos($string, '/') !== false) {
  // string contains /
}

来自 strstr 的 PHP 手册:

注意:

如果您只想确定特定针是否出现在 干草堆,使用更快、更少内存密集型函数 strpos() 相反。

使用strpos()

如果未返回 false,则字符已匹配。

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

if (strpos($t, '/') !== 0) {
  echo "No forward slash!";
}