📅  最后修改于: 2023-12-03 15:38:22.792000             🧑  作者: Mango
在 PHP 中,我们可以使用内置函数 substr()
和 strlen()
来检查一个字符串是否以另一个字符串结尾。
substr()
函数用于获取字符串的一部分,我们可以使用它来获取字符串末尾的一部分。strlen()
函数用于获取字符串的长度,我们可以使用它来确定需要提取多少字符来进行比较。下面是检查一个字符串是否以另一个字符串结尾的 PHP 代码示例:
/**
* 检查 $str 是否以 $suffix 结尾
*
* @param string $str 要检查的字符串
* @param string $suffix 要检查的后缀字符串
* @return bool 如果 $str 以 $suffix 结尾则返回 true,否则返回 false
*/
function endsWith($str, $suffix) {
// 获取 $suffix 长度
$suffixLength = strlen($suffix);
// 获取 $str 末尾的 $suffixLength 个字符
$endOfStr = substr($str, -$suffixLength);
// 比较 $endOfStr 和 $suffix 是否相等
return $endOfStr === $suffix;
}
使用示例:
var_dump(endsWith('hello world', 'world')); // 输出 bool(true)
var_dump(endsWith('hello world', 'hello')); // 输出 bool(false)
var_dump(endsWith('hello world', 'ld')); // 输出 bool(true)
以上代码通过定义 endsWith()
函数来检查一个字符串是否以另一个字符串结尾。该函数使用 substr()
和 strlen()
函数来获取待检查字符串的结尾部分,并将其与目标后缀字符串进行比较。如果两个字符串相等,则表示待检查字符串以目标后缀字符串结尾,返回 true
;否则返回 false
。
注意:以上代码中使用了负数作为 substr()
函数的第二个参数,这是为了从字符串末尾开始提取一定长度的字符。负数表示从末尾开始倒数的位置。例如,当传入 -3
作为第二个参数时,表示提取字符串末尾的 3
个字符。
在实际开发中,我们可能会有更加复杂的需求,例如需要检查多个字符串是否以同一个后缀结尾,或者不仅仅检查结尾,还要检查是否包含某个子字符串。不过基本思路是相似的,可以根据具体需求适当地调整代码。