【问题标题】:If string contains forward slash如果字符串包含正斜杠
【发布时间】:2012-06-28 20:06:54
【问题描述】:

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

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

【问题讨论】:

标签: php string if-statement


【解决方案1】:

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

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

对于那些靠手册生死的人来说,当草垛很大,或者针很小的时候,用strstr()会更快,不管手册怎么说。

例子:

使用strpos():0.00043487548828125

使用strstr():0.00023317337036133

【讨论】:

【解决方案2】:
if(strpos($string, '/') !== false) {
  // string contains /
}

来自strstr的PHP手册:

注意:

如果您只想确定特定针是否出现在 haystack,使用更快、内存占用更少的函数 strpos() 而是。

【讨论】:

    【解决方案3】:

    使用strpos()

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-04-25
        • 2011-10-10
        • 2012-07-18
        • 1970-01-01
        • 2015-07-14
        • 1970-01-01
        • 2020-08-14
        • 2013-08-11
        • 1970-01-01
        相关资源
        最近更新 更多