Php laravels辅助函数str_finish的目的是什么?

Php laravels辅助函数str_finish的目的是什么?,php,laravel,function,helpers,Php,Laravel,Function,Helpers,我刚刚偶然从中发现了helper函数 这与简单的 $newString = 'some string' . 'END'; ? 功能代码为: public static function finish($value, $cap) { $quoted = preg_quote($cap, '/'); return preg_replace('/(?:'.$quoted.')+$/u', '', $value).$cap; } 将这个看似基本的内置PHP功能放在一个单独的函数中有什

我刚刚偶然从中发现了helper函数

这与简单的

$newString = 'some string' . 'END';
?

功能代码为:

public static function finish($value, $cap)
{
    $quoted = preg_quote($cap, '/');
    return preg_replace('/(?:'.$quoted.')+$/u', '', $value).$cap;
}

将这个看似基本的内置PHP功能放在一个单独的函数中有什么好处?

它做的不止这些,如果字符串已经由给定的字符串完成,它不会再附加任何内容:

例如:

'abbc' === str_finish('ab', 'bc');
'abbc' === str_finish('abbcbc', 'bc');
'abcbbc' === str_finish('abcbbcbc', 'bc');

它的作用不止于此,如果字符串已经由给定字符串完成,则它不会再追加任何内容:

例如:

'abbc' === str_finish('ab', 'bc');
'abbc' === str_finish('abbcbc', 'bc');
'abcbbc' === str_finish('abcbbcbc', 'bc');

哦,太好了!这就是RegeExp魔术的实际作用。文档应该真的提到这一点,因为即使你检查代码也不明显,这在一开始是不必要的。哦,太好了!这就是RegeExp魔术的实际作用。文档应该真正提到这一点,因为即使您检查代码也不明显,这在一开始是不必要的。