📌  相关文章
📜  如何在 PHP 中检查一个字符串是否以另一个字符串结尾(1)

📅  最后修改于: 2023-12-03 15:38:22.792000             🧑  作者: Mango

如何在 PHP 中检查一个字符串是否以另一个字符串结尾

在 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 个字符。

在实际开发中,我们可能会有更加复杂的需求,例如需要检查多个字符串是否以同一个后缀结尾,或者不仅仅检查结尾,还要检查是否包含某个子字符串。不过基本思路是相似的,可以根据具体需求适当地调整代码。