以ltrim为例

先看手册说明先

定义和用法

ltrim() 函数从字符串左侧删除空格或其他预定义字符。

语法

ltrim(string,charlist)
参数 描述
string 必需。规定要转换的字符串。
charlist

可选。规定从字符串中删除哪些字符。

如果未设置该参数,则全部删除以下字符:

  • "\0" - ASCII 0, NULL
  • "\t" - ASCII 9, 制表符
  • "\n" - ASCII 10, 新行
  • "\x0B" - ASCII 11, 垂直制表符
  • "\r" - ASCII 13, 回车
  • " " - ASCII 32, 空格

貌似看不出什么。看下手册中的例子。

  1. <?php
  2. $text = "\t\tThese are a few words :) ...  ";
  3. $binary = "\x09Example string\x0A";
  4. $hello  = "Hello World";
  5. var_dump($text, $binary, $hello);
  6. print "\n";
  7. $trimmed = ltrim($text);
  8. var_dump($trimmed);
  9. $trimmed = ltrim($text, " \t.");
  10. var_dump($trimmed);
  11. $trimmed = ltrim($hello, "Hdle");
  12. var_dump($trimmed);
  13. // trim the ASCII control characters at the beginning of $binary
  14. // (from 0 to 31 inclusive)
  15. $clean = ltrim($binary, "\x00..\x1F");
  16. var_dump($clean);
  17. ?>

以上会输出:

string(32) "        These are a few words :) ...  "
string(16) " Example string
"
string(11) "Hello World" string(30) "These are a few words :) ... "
string(30) "These are a few words :) ... "
string(7) "o World"
string(15) "Example string
"

貌似只说了过滤空格、制表符什么的。

当然我们有时候也会这么写:

  1. $str = 'tmp_member';
  2. echo ltrim($str, 'tmpe_');

输出结果为 ember

但是这貌似不是我们想要的结果(member)这是为什么呢?

我们再写几个类似的语句试试先

  1. $str1 = 'tmp_umember';
  2. echo ltrim($str1, 'tmp_');
  3. echo '<br />';
  4. $str2 = 'tmp_mpmmtmpmpmmember';
  5. echo ltrim($str2, 'tmp_');
  6. echo '<br />';
  7. $str3 = 'tmp_mpmmtmpmpmmember';
  8. echo ltrim($str3, 'tmpe_');

以上的输出结果为:

umember
ember
ber

综上所述,ltrim函数的第二个参数只是个字符列表而不算做一整个字符串,m是字符列表中包含的字符,所以就ltrim掉了。

ltrim过滤的时候遇到非字符列表中的字符就停止过滤,返回过滤后的值。

所以,才会出现上面的三个结果。

同理 rtrim和trim都是这个原理,只不过过滤的方向不一样罢了。

关于php中trim、ltrim和rtrim的更多相关文章

  1. ORACLE中的LTRIM、RTRIM和TRIM

    LTRIM.RTRIM和TRIM在ORACLE中的用法:1.LTRIM(C1,C2)其中C1和C2都可以字符串,例如C1是'Miss Liu',C2'MisL'等等.这是第一个和SQL SERVER不 ...

  2. SQL 中LTrim、RTrim与Trim的用法

    LTrim.RTrim与 Trim 函数 返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白 (LTrim).尾随空白 (RTrim) 或前导和尾随空白 (Trim).语法 ...

  3. oracle中trim,ltrim,rtrim函数用法

    该函数共有两种作用:第一种,即大家都比较熟悉的去除空格.例子:--TRIM去除指定字符的前后空格SQL> SELECT TRIM(' dd df ') FROM dual;TRIM('DDDF' ...

  4. JavaScript自定义方法实现trim()、Ltrim()、Rtrim()

    去除字符串两端的空格,是字符串处理非常常用的方法如何trim() .Ltrim() .Rtrim(),可惜的是javascript中无此方法,下面有个不错的自定义教程感兴趣的朋友可以参考下 去除字符串 ...

  5. Oracle的trim( )、ltrim( )、rtrim( )三个函数的用法及注意事项

    学习一下用法整理trim().ltrim().rtrim()的用法 trim().ltrim().rtrim()三个函数有两个作用,分别是: 一.去除字符串前后空格(基本用法) trim(string ...

  6. LTrim、RTrim 和 Trim 函数

    返回不带前导空格 (LTrim).后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本. LTrim(string) RTrim(string) Trim(string) strin ...

  7. 重新认识trim,ltrim,rtrim,trailing和leading。

    trim经常用来去除一个字符串的空格,select trim(' dhajkjwa ') from dual; 在上面的语句中,trim的前面也可以加r或者l,表示去掉前面或者后面的空格,r和l代表左 ...

  8. javascript模仿php 函数 trim ltrim rtrim (原创)

    javascript模仿php 函数 trim  ltrim rtrim,去除字符串两边空格或其他符号 本文地址:js trim js php trim function trims(){ this. ...

  9. MS SQL Server的LTRIM,RTRIM和TRIM函数

    在MS SQL Server 2017有了一个新函数TRIM,整合以前版本LTRIM和RTRIM. 这几个函数都是去除字符串头部后尾部的空格. DECLARE @str NVARCHAR(MAX) = ...

  10. (转)C#中Trim()、TrimStart()、TrimEnd()的用法 .

    C#中Trim().TrimStart().TrimEnd()的用法: 这三个方法用于删除字符串头尾出现的某些字符.Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格 ...

随机推荐

  1. Sersync 上配置 Sersync 服务

    上面的工作做好之后呢,下面就开始正式配置我们的 Sersync 了! 我们在 Sersync 安装过程中所用到包均是从谷歌 Sersync 项目组取得的,地址: https://code.google ...

  2. .net Console.ReadLine无效

    代码中出现了 Console.ReadLine无效解决办法:把应用程序的输出类型改为 控制台应用程序

  3. ps:选区的存储及载入

    有时候需要把已经创建好的选区存储起来,方便以后再次使用.就要使用选区存储功能. 创建选区后,直接点击右键(限于选取工具)出现的菜单中就“存储选区”项目.也可以使用菜单[选择 存储选区].会出现一个名称 ...

  4. ZROI2019 提高十连测

    额 掰手指头一数 特么又是第三年十连测了= = 2017一场没打 那时候好像一场比赛也就100人左右 2018前几场还都好好补了 后来开始放飞自我了 这时候一场有150人还多了 2019想让今年的No ...

  5. python tkinter实时显示曲线

    from tkinter import *from tkinter import ttkimport time#画窗口root = Tk()root.geometry('1000x500')root. ...

  6. HttpClientUtil工具类封装

    package com.jd.ng.shiro.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; ...

  7. Test 6.29 T4 简单数据结构练习

    问题描述 费了一番功夫,神犇 CJK 终于完成了前三道题目."不错,不愧是新一代神犇啊!" JesseLiu 满意地说道,"不过,你在算法方面的功底固然不错.对于数据结构 ...

  8. 算法-python

    选择排序:一个列表被分为无序列表和有序列表,选择排序就是拿无序列表的第一个和后面的每一个相比较,每一趟选择出最小的一个,添加进有序列表. def select_sort(list): for i in ...

  9. delphi for DirectUI界面库

    下面是form代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Cont ...

  10. LRU management

    LRU management 字典树用来查找值,实现map<string,int>操作 tips:tot必须从一开始QAQ #include<bits/stdc++.h> us ...