如何使用 strpos 来确定输入字符串中是否存在字符串?

2022-08-30 15:52:44
$filename = 'my_upgrade(1).zip';
$match = 'my_upgrade';

if(!strpos($filename, $match))
    {
    die();
    }
else 
   {
   //proceed
   }

在上面的代码中,当文件名不包含文本字符串“my_upgrade”时,我试图从脚本中消失。但是,在给出的示例中,它不应亡,因为“my_upgrade(1).zip”包含字符串“my_upgrade”。

我错过了什么?


答案 1

strpos如果未找到该字符串,并且如果在开头找到该字符串,则返回。使用标识运算符来区分两者:false0

if (strpos($filename, $match) === false) {

顺便说一句,这一事实在官方文档中以红色背景和感叹号记录。


答案 2

strpos() 函数区分大小写。

if(strpos($filename, $match) !== false)
        {
        // $match is present in $filename
        }
    else 
       {
       // $match is not present in $filename 
       }

用于使用不区分大小写。使用,它是在另一个字符串内查找字符串的第一次出现的位置(不区分大小写)stripos()


推荐