当您访问此页面时,您可能正在寻找一些更简单的东西:一个可以检查较小的字符串是否从特定索引开始存在于较大的字符串中的函数。使用 substr_compare() 来执行此操作可能会使您的代码变得混乱,因为您需要检查字符串是否足够长(以避免警告),手动指定短字符串的长度,并且像许多字符串函数一样,执行整数比较来回答真/假问题。
我编写了一个简单的函数,如果 $str 存在于 $mainStr 中则返回 true。如果指定了 $loc,则 $str 必须从该索引开始。如果没有,则将搜索整个 $mainStr。
<?php
function contains_substr($mainStr, $str, $loc = false) {
if ($loc === false) return (strpos($mainStr, $str) !== false);
if (strlen($mainStr) < strlen($str)) return false;
if (($loc + strlen($str)) > strlen($mainStr)) return false;
return (strcmp(substr($mainStr, $loc, strlen($str)), $str) == 0);
}
?>