说说PHP的字符串查找函数strpos

strpos函数用于在一个字符串中查找另一个字符串出现的位置,当存在时,返回一个整型的索引值,当不存在时返回false,但我们不能使用下边的例子来判断一个字符串是否存在于另一个字符串中:

$stra = "http://www.mzwu.com/";
$strb = "http://";
if(strpos($stra,$strb)==false)
{
    echo "false";
}
else
{
    echo "true";
}

原因是strpos可能返回布尔值false,但也可能返回一个与false等值的非布尔值,例如0或者"",所以上边例子应改为:

$stra = "http://www.mzwu.com/";
$strb = "http://";
if(strpos($stra,$strb)===false)
{
    echo "false";
}
else
{
    echo "true";
}

或者我们干脆可以自定义一个函数,类似于js和c#的indexOf,当存在时返回索引值,不存在时返回-1:

function str_pos($stra,$strb)
{
    if(strpos($stra,$strb)===false)
    {
        return -1;
    }
    else
    {
        return strpos($stra,$strb);
    }
}

$stra = "http://www.mzwu.com/";
$strb = "http://";
if(str_pos($stra,$strb)==-1)
{
    echo "false";
}
else
{
    echo "true";
}


评论: 0 | 引用: 0 | 查看次数: 4923
发表评论
登录后再发表评论!