php字符串处理

Posted 一阙梅曲香素笺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php字符串处理相关的知识,希望对你有一定的参考价值。

1. 字符串类型特点

1因为php弱类型语言,所以一般其他数据类型的变量也可以被字符串相关函数进行处理。

例如:

Substr:字符串截取函数

Substr(“要处理的字符串”,起始值,截取个数)

如果是整形,因为PHP是弱类型语言,所以会自动类型转换,被转换为字符串类型

2字符串可以将其视为数组

如下:

 

需要注意的是,虽然字符串被视为数组,但是它不是真的数组

如下:使用数组相关函数进行处理的时候,并不能得到正确的结果

因为字符串虽然被视为数组,但是并不是真的数组,所以上面的数组函数无效,如果要测量字符串的长度,还是得使用字符串相关函数。

 

为了区分字符串和数组,可以使用(大括号)花括号“{}”,这样简洁明了

 

3如果给字符串里面的某一个值赋值,字符串值会被改变,字符串长度不变

如果是赋值一个字符串给另一个字符串的某一个字符,那么也只会有第一个字符被赋值进去

 

4关于单引号和双引号

单引号:不会解析变量

双引号:会解析变量

如果是双引号里面的变量,为了简洁明了,最好用一对花括“{}”弧将变量括起来。

如下:

双引号里面除了可以解析变量,还可以解析数组和对象

2.字符串相关函数

1)字符串输出相关函数

echo(),print(),die(),printf(),sprint()

echo:用于输出一个或者多个字符串,注意echo可以输出多个字符串,中间用逗号分隔

如果有多个参数输出的话,使用逗号的效率比点高

 

echo严格的来讲,不是函数,事实上它是一个语言结构。

所谓语言结构,就是关键字。语言结构的执行效率要比函数高,因为函数执行的时候最终也会被转换为语言结构。

 

Print():功能和echo基本一模一样,区别就是print()是一个函数,而echo是一个语言结构,所以print的执行效率没有echo高,还有一点,print()有返回值,成功返回1,失败返回0

Die()

Die()函数就是exit()函数的一个别名函数,功能和exit()是一模一样。如果往该函数里面传递一个字符串,则在退出脚本时会显示该提示信息

Printf(),打印,输出

这个很眼熟,在C语言里面见过,该语句也是直接从C语言直接借鉴过来的。

 

Sprintf()printf的功能一模一样,只不过不输出,而是通过返回值的形式将值返回

 

 

2常用的字符串格式化函数

所谓字符串格式化,就是指将字符串格式为你所需要的格式。

 

去除空格函数

Ltrim():去除左边空格

Rtrim():去除右边空格

Trim():去除两边的空格,注意

该函数在用户提交表单的时候用得最多,比如用户注册账号不小心多按了空格,如果不去除,下一次无论怎样都不能登录。

 

这套函数不会对原来的字符串进行改变,而是以返回值得形式返回处理结果。

Trim()这套函数可以自己定义要去除哪些字符。例如0..9代表过滤数字,A..Z过滤大写字母 a..z过滤小写字母 点“ . ” 代表就是过滤字符串里面的 “ . ”

 

除此之外,trim还支持自定义过滤范围

3字符串填充函数

Str_pad(要填补的字符串,指定长度,填充字符,方向)

方向默认支持3个:STR_PAD_LEFT,STR_PAD_RIGHT,STR_PAD_BOTH

不会改变原来数组的长度

4字符串大小写转换

PHP里面提供4中字符串大小写转换函数

Strtoupper():全部转大写

Strtolower():全部转小写

Ucfirst()字符串中的第一个单词的首字母转换为大写uc(upper case) 大小写字母)的简写

Ucwords():每个单词的首字母转换为大写

5html标签相关的字符串格式化函数

nl2br(字符串名字)函数:

该函数可以将\\n转换为br,很多编程人员由于以前是写C的,C语言里面\\n是换行,所以为了迎合他们的习惯,专门有一个这个函数将\\n转换为br

Htmlspecialchars():将预定义字符(主要就是指HTML标签)转换为HTML实体

< 转换为  <

   > 转换为 >

 

可以让代码直接输出,而不让浏览器解释,用于防止别人提交的html代码攻击。

 

还有一个strip_tags(要处理的字符串,要保留的标签:直接可以删除字符串里面的HTML标签

 

strip_tags(要处理的字符串,要保留的标签)

 

其他相关函数

 

Strrev():将字符串里面的字符全部翻转

Number_format():标准货币格式函数

 

Number_format$num,可以选择保留多少位小数)

 

Number_format$num,可以选择保留多少位小数,小数位的分隔符,整数位的分隔符)

 

Md5()函数:将一个字符串进行md5加密处理,默认返回一个32位的十六进制字符串

6字符串比较函数

PHP里面可以通过(==,<,>)来对字符串进行比较

 

除了比较运算符用来比较字符串以外,PHP中还提供了一套字符串比较函数用于字符串比较。

Strcmp(str1,str2):和C语言里面是一样

 

Strcasecmp(str1,str2):忽略字符串大小写进行比较

按照自然排序进行字符串比较

“4” “33”

Strnatcmp()

 

字符串的分割

正则:

Preg_split(m,n)m代表以什么进行分割的正则表达式,n表示被分割的字符串名

Explode(分隔符,字符串变量名)将字符串分割成数组

Implode():将一个数组合并成一个字符串

Implode(连接符号,数组)

 

以上是关于php字符串处理的主要内容,如果未能解决你的问题,请参考以下文章

PHP开发-多字节字符串处理及字符编码

PHP基础知识

PHP系列PHP字符串处理

php字符串处理

php 字符串处理问题

php常用字符串处理函数实例分析