stristr返回值仅在匹配起始字符时?

时间:2017-12-02 20:40:05

标签: php string string-comparison

stristr($haystack, $needle)

这个函数将使用字符串$ haystack,查看字符串$ needle,如果找到则返回haystack的整个值。

如果$ needle从头开始按顺序匹配任意数量的值,我想只返回haystack的值。

例如,stristr将在所有示例中返回$ haystack,但我想要的是:

$haystack = "foo"
$needle =   "oo"
return false;

$haystack = "foo"
$needle =   "f"
return $haystack;

$haystack = "foo"
$needle =   "o"
return false;

$haystack = "foo"
$needle =   "fo"
return $haystack;

在我看来,这可能是内置于php中的内容,但我在文档中找不到任何内容。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以为此创建新功能,并在其中使用substrstrpos,例如:

function matchBegining($needle, $haystack)
{
    if(substr($haystack, 0, strlen($needle)) === $needle)
    {
        return $haystack;
    }
    return false;
}

如果匹配则返回$haystack,否则返回false

strpos的if语句:

 if (strpos($haystack, $needle) === 0) {