在PHP中意外返回rtrim函数

时间:2012-07-21 11:42:12

标签: php return

当我使用时:

rtrim('HeaderController', 'Controller');

我希望这会返回Header,因为HeaderController - Controller = Header 但这会返回'Head',为什么?

2 个答案:

答案 0 :(得分:2)

rtrim要求删除字符列表,而不是子字符串。因此rtrim删除了er中的Header

答案 1 :(得分:2)

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

$name = 'HeaderController';
$shortName = str_replace('Controller', '', $name);

一定要只替换字符串末尾的“Controller”,你需要一个正则表达式(这有点慢)

$name = 'HeaderController';
$shortName = preg_replace('/Controller$/', '', $name);

$ -sign标记字符串的结尾