对于rtrim函数之前的印象一直是去除右侧字符串,之前都是去除单个并没有受到影响,今天在处理一个字符串的时候

echo rtrim('1819232291343159','43159');

结果显示:

18192322

与预期的完全不一样,预期应该是输出

18192322913

看了下官方文档,第二个参数

通过指定 character_mask,可以指定想要删除的字符列表。简单地列出你想要删除的全部字符。使用 .. 格式,可以指定一个范围。

原来是列表元素,不能当作整个字符串来看,应该看作4,3,1,5,9,所以rtrim是从右侧开始删列表元素中出现的值,直到遇到一个字符没有出现在列表元素中。