PHP字符串是否以另一个字符串结尾的最有效测试是什么?

测试字符串是否$str以子字符串结尾的标准PHP方法$test是:

$endsWith = substr( $str, -strlen( $test ) ) == $test

这是最快的方法吗?

回答:

阿萨夫所说的是正确的。PHP中有一个内置函数可以做到这一点。

substr_compare($str, $test, strlen($str)-strlen($test), strlen($test)) === 0;

如果$test$strPHP 长,则会发出警告,因此您需要首先进行检查。

function endswith($string, $test) {

$strlen = strlen($string);

$testlen = strlen($test);

if ($testlen > $strlen) return false;

return substr_compare($string, $test, $strlen - $testlen, $testlen) === 0;

}

以上是 PHP字符串是否以另一个字符串结尾的最有效测试是什么? 的全部内容, 来源链接: utcz.com/qa/406168.html

回到顶部