码迷,mamicode.com
首页 > Web开发 > 详细

php字符串处理

时间:2017-08-26 11:27:28      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:image   过滤字符   赋值   执行   实体   第一个   效率   trim   忽略   

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字符串处理

标签:image   过滤字符   赋值   执行   实体   第一个   效率   trim   忽略   

原文地址:http://www.cnblogs.com/chenduzizhong/p/7434691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!