为什么rtrim删除不正确的内容?

时间:2018-09-17 15:05:45

标签: php

$word = "shshsh.shshsh";
print(rtrim($word, "sh."));

当我期望它输出整个字符串时,输出是一个空字符串(因为在这种情况下,“ sh。”不会出现在末尾)。

2 个答案:

答案 0 :(得分:9)

type TcxLockedStatePaintHelperAccess = class(TcxLockedStatePaintHelper); function TZcxGrid.DoPrepareLockedStateImage: Boolean; begin DoLockedStateImage(Self, TcxLockedStatePaintHelperAccess(LockedStatePaintHelper).Bitmap, Result); Result := inherited DoPrepareLockedStateImage; end; 是一组字符,而不是要删除的字符串。只要它是"sh."中的一个字符,它将以递归的方式从$word的末尾删除字符,直到命中该列表中未包含的字符为止,基本上删除了您所遇到的所有情况。

答案 1 :(得分:3)

herertrim的第二个参数将指定要从字符串中删除的字符掩码。换句话说,通过将".sh"指定为字符掩码,您将分别删除.sh的所有实例,从而产生空字符串。