php字符串去掉空,PHP 字符串:去除首尾空字符

一直以来,我们都知道在输入或输出字符串的时候需要先去除字符串的空字符,但是究竟为什么这是必要的?本 wiki 将会介绍去除首尾空字符的相关知识。

基础知识

去除首尾空字符原因

首尾空字符属于无意义、多余字符;

占据多余的存储空间;

增加解析内存消耗;

可能造成换行;

可能造成不可预测的错误。

与空字符相关的符号

符号

ASCII 16 进制表达式

含义" "

0x20

普通空格

\t

0x09

制表符

\n

0x0A

换行符

\r

0x0D

回车符

\0

0x00

空字节符

\x0B

0x0B

垂直制表符

PHP 去除首尾字符串方法

trim,ltrim,rtrim

语法结构

trim / ltrim / rtrim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) : string

参数含义:

名称

含义

必需str

待处理的字符串。

character_mask

可选参数,过滤字符也可由 character_mask 参数指定。一般要列出所有希望过滤的字符,也可以使用 “..” 列出一个字符范围。注意:可选参数不要使用单引号字符串,应使用双引号字符串。

函数返回值:

过滤后的字符串。

拓展

使用示例

ltrim、rtrim 功能分别和 trim 的左端、右端的过滤功能相同,理解 trim 用法便可理解其他二者用法,所以本 wiki 主要介绍 trim 的使用。

例 1 —— 一般使用

// 待处理的字符串

$text = "\t\t我是一名软件工程师 ... ";

$binary = "\x09这句话不止中 间有个空格。\x0A";

$hello = "Hello World";

var_dump($text, $binary, $hello);

print "
";

// 处理结果

$trimmed = trim($text);

var_dump($trimmed);

print "
";

$trimmed = trim($text, " \t.");

var_dump($trimmed);

print "
";

$trimmed = trim($hello, "Hdle");

var_dump($trimmed);

print "
";

// 清除 $binary 首位的 ASCII 控制字符

// (包括 0-31)

$clean = trim($binary, "\x00..\x1F");

var_dump($clean);

例 1 结果:

string(35) " 我是一名软件工程师 ... " string(39) " 这句话不止中 间有个空格。 " string(11) "Hello World"

string(31) "我是一名软件工程师 ..."

string(27) "我是一名软件工程师"

string(5) "o Wor"

string(37) "这句话不止中 间有个空格。"

结果分析:

当没有可选参数时,trim 会根据默认值 " \t\n\r\0\x0B" 过滤字符串;

当边缘字符被去掉之后,次边缘字符会被顶上继续被过滤;

通过使用 (..)操作符,trim 过滤了某一范围内的 ASCII 字符。

例 2 —— 清理数组值

function trimValue(&$value)

{

$value = trim($value);

}

$greats = ['海瑞', '王守仁 ', ' 戚继光 '];

var_dump($greats);

array_walk($greats, 'trimValue');

var_dump($greats);

例 2 结果:

array(3) { [0]=> string(6) "海瑞" [1]=> string(10) "王守仁 " [2]=> string(11) " 戚继光 " }

array(3) { [0]=> string(6) "海瑞" [1]=> string(9) "王守仁" [2]=> string(9) "戚继光" }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值