strrpos()
是 PHP 中的一个内置函数,用于在字符串中从后向前查找子字符串的最后一个出现位置
function strrpos_custom($haystack, $needle) {
$haystack_length = strlen($haystack);
$needle_length = strlen($needle);
for ($i = $haystack_length - $needle_length; $i >= 0; $i--) {
if (substr($haystack, $i, $needle_length) === $needle) {
return $i;
}
}
return -1;
}
// 使用示例
$haystack = "Hello, welcome to the world of PHP!";
$needle = "PHP";
$position = strrpos_custom($haystack, $needle);
if ($position !== -1) {
echo "The last occurrence of '{$needle}' is at position: {$position}";
} else {
echo "The substring '{$needle}' was not found in the string.";
}
这个 strrpos_custom()
函数首先计算输入字符串和要查找的子字符串的长度。然后,它从字符串的末尾开始逐个检查每个子字符串,直到找到与子字符串匹配的部分或到达字符串的开头。如果找到匹配项,函数返回该子字符串在原始字符串中的位置;否则,返回 -1。