当您访问此页面时,您可能在寻找更简单的东西:一个可以检查小字符串是否在较大的字符串中从特定索引开始存在的函数。使用 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);
}
?>