香雨站

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 86|回复: 0

PHP从入门到精通—字符串操作—字符串构成 、常用的字符 ...

[复制链接]

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-1-5 09:51:40 | 显示全部楼层 |阅读模式

学习完文件处理(PHP从入门到精通—文件处理—文件概述、文件操作、目录操作)有一个基本的了解,下面进行了解字符串组成和字符串操作的基础知识。查找字符串出现次数、查找最后一次的位置、查找第一次位置等字符串其他操作的内容。
字符串组成
Ø 字符串构成
通常情况下,字符串是指由零个或多个字符构成的一个集合,主要包含以下几种类型:
l 数字类型,如1、2、3等
l 字母类型,如a、b、c、d等
l 特殊字符,如#、$、%、^、&等
l 不可见的字符,如\n(换行符)、\r(回车符)、\t(Tab字符)等
其中,不可见字符是比较特殊的一组字符,它用来控制字符串格式化输出,在浏览器上不可见,只能看到字符串输出的结果。
常用的字符串操作
第一个PHP程序
字符串的操作在PHP编程中占有重要的地位,几乎所有PHP脚本的输入与输出都要用到字符串。尤其是在PHP项目开发过程中,为了实现某项功能,经常需要对某些字符串进行特殊处理,如获取字符串的长度、截取字符串、替换字符串等。在本节中将对PHP常用的字符串操作技术进行详细地讲解,并通过具体的实例加深对字符串操作函数的理解。
Ø 去除字符串两边的字符
trim()函数可以去除字符串开始及结束位置的空格和指定的任意特殊字符,其语法格式如下:
string  trim (string $str [,string $charlist])
其中,第一个参数$str是被处理的字符串,第二个参数$charlist是要删除的特殊字符。如果第二个参数为空,则去除字符串$str首尾处的空白字符。如果想通过该函数过滤掉特殊的字符,可以指定第二个参数,函数最后返回的是一个经过处理的字符串。


Ø 去除字符串左边的字符
ltrim()函数用于去除字符串左端的空格和指定的任意特殊字符,其语法格式如下:
string  ltrim (string $str [,string $charlist])
ltrim()函数有两个参数:第一个参数$str是被操作的字符串,第二个参数$charlist是要删除的特殊字符。接下来演示ltrim()函数的具体用法。


Ø 去除字符串右边的字符
使用rtrim()函数的作用与ltrim()函数相反,rtrim()函数用于去除字符串右端的空格和指定的任意特殊字符,其用法与ltrim()函数相同。接下来演示rtrim()函数的具体用法。


Ø 将字符串转换为小写
函数strtolower()将传入的字符串全部转换为小写,并返回转换后的字符串,其语法格式如下:
string  strtolower(string $str)
其中,参数$str为要转换的字符串,该函数的作用是将字符串中的所有字符转换为小写。接下来演示strtolower ()函数的具体用法。


Ø 字符串首字母大写转换
函数ucfirst()的作用是将字符串的首字母转换为大写,并返回转换后的字符串,其语法格式如下:
string  ucfirst(string $str)
其中,参数$tr为要转换的字符串,该函数的作用是将该字符串的首字母转换为大写。接下来演示ucfirst ()函数的具体用法。


Ø 单词首字母大写转换
函数ucwords()的作用是将字符串的每个单词的首字母转换为大写,其语法格式与ucfirst()函数相同。接下来演示ucwords ()函数的具体用法。


利用ucwords()函数可以将字符串“wELCOME to qIANFENG”的每个单词的首字母转换为大写,其余字母为小写的字符串。代码第2行给变量$str赋值。第3行将字符串中每个单词的首字母转换成大写。第5行先将字符串中的所有字母转换为小写,然后将每个单词的首字母转换成大写。
Ø 字符串的替换
函数str_replace()用于字符串的替换,其语法格式如下:


其中,参数$str2为新字符串,参数$str3为原字符串。函数的作用是用新字符串$str2替换原字符串$str3中的字符串$str1,。接下来演示str_replace ()函数的具体用法。


Ø 字符串的部分替换
函数substr_replace()用于把字符串的一部分替换为另一个字符串,其语法格式如下:


其中,参数$str指定要操作的原始字符串;参数$replacement指定替换原始字符串的内容;参数$start指定字符串开始替换的位置,如果参数$start是正数,则起始位置从字符串的开头算起,如果参数$start是负数,则起始位置从字符串的结尾算起,如果是0,则在字符串中的第一个字符处开始替换。参数$length为可选参数,指定要替换多少个字符。
Ø 获取字符串长度
获取字符串的长度使用的是strlen()函数。其语法格式如下:
int strlen( string $str )
其中,参数str表示获取指定字符串的长度。接下来,演示strlen ()函数的具体用法。


Ø 截取字符串
在PHP中有一项非常重要的技术,就是截取指定字符串中指定长度的字符。PHP对字符串截取可以采用PHP的预定义函数substr()实现。下面重点介绍substr()函数的语法及应用。其语法格式如下:


其中,参数$str表示指定字符串对象,参数$start(指定位置从0开始计算的,即字符串中的第一个字符的位置表示为0)表示指定开始截取字符串的位置,如果参数$start为负数,则从字符串的末尾开始截取;参数$length为可选参数,表示指定截取字符的个数,如果$length为负数,则表示取到倒数第length个字符。
Ø 比较字符串
在PHP中,对字符串之间进行比较的方法有很多,第一种是使用strcmp()函数和strcasecmp()函数按照字节进行比较,第二种是使用strnatcmp()函数按照自然排序法进行比较,第三种是使用strncmp()函数指定从源字符串的位置开始比较。下面分别对三种方法进行详细讲解。
1.按字节进行字符串的比较
按字节进行字符串比较的方法有两种,分别是利用strcmp()和strcasecmp()函数。这两种函数的区别是strcmp()函数区分字符的大小写,而strcasecmp()函数不区分字符的大小写。由于这两个函数的实现方法基本相同,这里只介绍strcmp()函数。
strcmp()函数用来对两个字符串按字节进行比较。其语法格式如下:
int strcmp ( string $str1 , string $str2)
其中,参数$str1和参数$str2指定要比较的两个字符串。如果参数$str1和参数$str2相等,则函数返回值为0;如果参数$str1大于参数$str2,则函数返回值大于0;如果参数$str1小于参数$str2,则函数返回值小于0。
2.按自然排序法进行字符串的比较
在PHP中,按照自然排序法进行字符串的比较是通过strnatcmp()函数来实现的。自然排序法比较的是字符串中的数字部分,将字符串中的数字按照大小进行比较。其语法格式如下:
int strnatcmp ( string $str1 , string $str2)
如果字符串相等则返回0,如果参数$str1大于参数$str2,则返回值大于0;如果参数$str1小于参数$str2,则返回值小于0。该函数区分字母大小写。接下来演示strnatcmp()函数的具体用法,具体案例详情参考8.2.11。
Ø 查找字符串
strstr()函数和strrchr()函数用于查找字符串,两个函数声明格式如下:


其中,参数$haystack表示母字符串,即被查找的字符串,参数$needle表示子字符串,即要查找的字符串。
两个函数除了函数名不同,使用方法完全相同,但是其作用略有不同。strstr()函数用来查找子字符串在母字符串中第一次出现的位置,并返回从此位置开始到母字符串结束的部分。strrchr()函数查找字符串在母字符串中最后一次出现的位置,并返回从此位置开始到母字符串结束的字符串。
Ø 查找字符串出现次数
函数substr_count()用于查找字符串出现的次数,其声明格式如下:


substr_count()用来统计参数$needle在另一个参数$haystack中出现的次数。可选参数为$offset和$length,分别表示要查找的起点和长度,该函数返回值是一个整数。该函数返回值是一个整数。接下来演示substr_count()函数的具体用法。


Ø 查找字符串最后一次出现的位置
函数strrpos()用于查找字符串在另一字符串中最后一次出现的位置,其语法格式如下:


其中,参数$haystack表示母字符串,即被查找的字符串,参数$needle表示子字符串,即要查找的字符串。参数offset设置查找字符串的长度,是用来限制查找的范围。接下来演示strrpos()函数的具体用法。


Ø 查找字符串第一次出现的位置
函数strpos()用于查找字符串在另一字符串第一次出现的位置,函数声明格式如下:


其中,参数$haystack表示母字符串,即被查找的字符串,参数$needle表示子字符串,即要查找的字符串。参数offset设置查找字符串的长度,是用来限制查找的范围。用来限制查找的范围。接下来演示strpos()函数的具体用法。


Ø 将字符串分割成小块
函数str_split()用于将指定字符串,按指定长度分割,并返回一个数组,数组的每个单元就是分割后的字符串,其语法格式如下:


函数str_split()最终返回的结果是一个数组,第一个是string类型,表示要分组的字符串,第二个参数是int类型,表示按几个字符来分组,如果没有第二个参数,那么默认按1个字符来分组。接下来演示str_split()函数的具体用法。


Ø 在字符串中插入字符串
函数chunk_split()的作用是根据参数指定的长度把字符串分为若干段,然后在每段字符串后面附上指定字符串并重新链接为一个字符串返回,其语法格式如下:


其中,参数$string表示要分割的字符串,$length表示一个数字,定义字符串的长度,默认为76,$end表示一个字符串,定义在每个字符串之后放置的内容,默认为\r\n。


Ø 字符串的分解和合并
explode()函数用于分解字符串,其语法格式如下:
array explode( string $pattern , string $str [, int $limit ] )
其中,参数$pattern指定作为分解标识的符号,$str为特殊的原始串,第3个可选参数$limit为返回子串个数的最大值,如果达到上限,数组的最后一个元素会包含字符串剩余的部分,默认为全部返回,函数的返回值为数组。
implode()函数用于合并字符串,其语法格式如下:
string implode( string $pattern , arr $array )
其中,参数$pattern指定子字符串之间放置的内容,参数$array指定包含字符串元素的数组。
字符串其他操作
Ø MD5算法的应用
MD5的全称是Message-Digest algorithm (信息-摘要算法)5,其主要功能是消息的完整性保护,常用于数据加密等计算机安全领域。为方便开发人员使用MD5,PHP中提供了MD5()函数,其语法格式如下:
string MD5( string $str)
其中,参数$str是要加密的字符串。接下来演示MD5()函数的使用方法。


Ø 使用MIME base64编码加密和解密数据
MIME base64是一种编码手段,而不是加密手段,字符串按照base64编码后,可以使二进制数据通过非纯8-bit的传输层传输,例如电子邮件的主体。
本小节主要是利用base64的编码与解码函数实现类似的字符串加密、解码操作。base64_encode()函数可以对指定的字符串进行编码,并返回一个编码的字符串。Base64_decode()函数可以把一个使用base64_encode()函数编码的字符串进行解码,然后返回解码后的字符串。


Ø 创建格式化输出
PHP包括两个在格式化输出方面非常有用的函数:print()和sprintf()。print函数为打印输出,sprintf函数将输出作为一个字符串值返回。每个函数通常都使用两个或更多参数,第一个参数是一个名为格式串(format string)的字符串,其指定输出格式,其余参数指定要输出的值。
格式串包含一系列指令和普通字符,指令是以字符%开始的字符序列,其决定了如何格式化相应的参数。一个简单的指令可以包含%及后面的类型说明符(如d,其指定将参数作为十进制数处理),普通字符是除%之外的任何字符。


Ø ASCII码与字符串
在字符串操作中,可以使用ord()函数返回字符的ASCII码,也可以使用chr()函数返回ASCII码对应的字符。接下来演示这两个函数的使用方法。


小结:PHP从入门到精通—字符串操作—字符串构成、常用的字符串操作、字符串其他操作
字符串是PHP中应用最为广泛的数据类型,其操作方法种类繁多。PHP5及以上版本提供了六十多种内置的字符串操作函数,熟练地使用这些函数,是学习PHP的重要内容。本章主要对常用的字符串操作技术进行了详细的讲解,其中去除字符串首尾空格、获取字符串的长度、连接和分割字符串、截取字符串、查找字符串和替换字符串等都是需要重点掌握的技术。同时,这些内容也是作为一个PHP程序员必须熟悉和掌握的知识。相信通过本章的学习,读者能够举一反三,灵活运用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|香雨站

GMT+8, 2025-3-15 13:13 , Processed in 0.105638 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表