PHP中rtrim函数的意外返回

PHP中rtrim函数的意外返回,php,return,Php,Return,当我使用: rtrim('HeaderController', 'Controller'); 我希望这会返回Header,因为HeaderController-Controller=Header 但这会返回“Head”,为什么?rtrim希望删除字符列表,而不是子字符串。因此rtrim删除标题中的errtrim希望删除的是字符列表,而不是子字符串。因此rtrim删除标题中的er如果要删除“Controller”子字符串,可以这样做: $name = 'HeaderController'; $s

当我使用:

rtrim('HeaderController', 'Controller');
我希望这会返回Header,因为HeaderController-Controller=Header
但这会返回“Head”,为什么?

rtrim
希望删除字符列表,而不是子字符串。因此
rtrim
删除
标题中的
er

rtrim
希望删除的是字符列表,而不是子字符串。因此
rtrim
删除
标题中的
er

如果要删除“Controller”子字符串,可以这样做:

$name = 'HeaderController';
$shortName = str_replace('Controller', '', $name);
为了确保只替换字符串末尾的“Controller”,您需要一个正则表达式(这稍微慢一点)

$符号标记字符串的结尾

如果要删除“Controller”子字符串,可以这样做:

$name = 'HeaderController';
$shortName = str_replace('Controller', '', $name);
为了确保只替换字符串末尾的“Controller”,您需要一个正则表达式(这稍微慢一点)


$符号标记字符串的结尾

第二个参数是字符列表,而不是完整的单词。第二个参数是字符列表,而不是完整的单词。