ltrim() 默认去除字符串左侧6类ASCII空白字符:NULL(\0)、Tab(\t)、换行(\n)、回车(\r)、垂直制表(\x0B)和空格( ),不支持Unicode全角空格等多字节空白,需用mb_ltrim()处理。

ltrim() 默认去除字符串左侧的以下空白字符(不需传入第二个参数):
默认移除的6类ASCII空白字符
当只传入字符串参数时,ltrim($string) 会连续从左端移除所有连续出现的以下字符,直到遇到第一个非匹配字符为止:
- "\0" — ASCII 0(NULL 字节)
- "\t" — ASCII 9(水平制表符 Tab)
- "\n" — ASCII 10(换行符 Line Feed)
- "\r" — ASCII 13(回车符 Carriage Return)
- "\x0B" — ASCII 11(垂直制表符 Vertical Tab)
- " " — ASCII 32(普通空格)
注意:不包含 Unicode 全角空格、不换行空格等
标准 ltrim() 是单字节函数,不识别中文全角空格(U+3000)、不换行空格(U+00A0)、细空格(U+2009)等 Unicode 空白字符。如需处理多字节空白(例如含中文、日文或特殊排版空格的字符串),应改用 mb_ltrim()(PHP 8.4+ 支持),它默认覆盖包括 \u3000、\u2000–\u200A、\u2028、\u2029 等在内的数十种 Unicode 空白。
可自定义要移除的字符
通过第二个参数 $charlist,可以指定任意字符集合,例如:
立即学习“PHP免费学习笔记(深入)”;
-
ltrim($str, " \t\n\r")— 显式限定只去这四种 -
ltrim($str, "0..9")— 去掉左边连续数字(注意双点写法仅在 charlist 中有效) -
ltrim($str, "xyZ")— 去掉左边连续出现的 x、y 或 Z



















