字符串函数
字符串函数是PHP的内置函数,用于操作字符串,在实际开发中有着非常重要的作用。常用的字符串函数如表1所示。
表1 常用字符串函数
函数名称 | 功能描述 |
---|---|
strlen() | 获取字符串的长度 |
strpos() | 查找字符串首次出现的位置 |
strrpos() | 获取指定字符串在目标字符串中最后一次出现的位置 |
str_replace() | 用于字符串中的某些字符进行替换操作 |
substr() | 用于获取字符串中的子串 |
explode() | 使用一个字符串分割另一个字符串 |
implode() | 用指定的连接符将数组拼接成一个字符串 |
trim() | 去除字符串首尾处的空白字符(或指定成其他字符) |
str_repeat() | 重复一个字符串 |
strcmp() | 用于判断两个字符串的大小 |
下面选取strlen()、strrpos()、substr()和str_replace()函数进行讲解,其他函数读者可以参考PHP官方手册进行学习。
1. strlen()函数
strlen()函数用于获取字符串的长度,使用示例如下。
echo strlen('abc'); // 输出结果:3
echo strlen('字符串'); // 输出结果:9
echo strlen('P H P'); // 输出结果:5
从上述代码可以看出,strlen()函数的返回值类型是int整型。一个英文字符及一个空格的长度均为1,一个中文字符的长度为3。
一个中文字符的长度取决于字符集,UTF-8字符集为3,GBK字符集为2。
2. strrpos()函数
strrpos()函数用于获取指定字符串在目标字符串中最后一次出现的位置,目标字符串中第1个字符的位置从0开始。下面通过代码演示strrpos()函数的使用。
echo strrpos('itcast', 'a'); // 输出结果:3
echo strrpos('itcast', 'c', 1); // 输出结果:2
echo strrpos('itcast', 't', -4); // 输出结果:1
从上述代码可以看出,strrpos()函数的返回值类型是int整型,但当找不到指定字符串时,返回值为布尔型false。其中,第1个参数是目标字符串,第2个参数是指定字符串,第3个参数是字符串开始查找的位置,它有3种情况,具体如下。
- 省略第3个参数时,表示从目标字符串的第0个位置开始向后查找指定字符串。
- 第3个参数为正数n时,表示从目标字符串的第n个位置开始向后查找指定字符串。
- 第3个参数为负数m时,表示从目标字符串的尾部第m个位置开始向前查找指定字符串。
3. substr()函数
substr()函数用于获取字符串中的子串,示例代码如下。
echo substr('welcome', 3); // 输出结果:come
echo substr('welcome', 0, 2); // 输出结果:we
echo substr('welcome', 3, -1); // 输出结果:com
echo substr('welcome', -4, -1); // 输出结果:com
在上述代码中,substr()函数的返回值类型是字符串型,它的第1个参数表示待处理的字符串;第2个参数表示字符串开始截取的位置,当它为负数m时,表示从待处理字符的结尾处向前数第m个字符开始;第3个参数表示截取字符串的长度,当其省略时,表示截取到字符串的结尾,当其为负数m时,表示从截取后的字符串的末尾处去掉m个字符。
4. str_replace()函数
str_replace()函数用于对字符串中的某些字符进行替换操作,示例代码如下。
echo str_replace('e', 'E', 'welcome', $count); // 输出结果:wElcomE
echo $count; // 输出结果:2
在上述代码中,str_replace()函数的第1个参数表示目标字符串,第2参数表示替换字符串,第3个参数表示执行替换的字符串,第4个参数是一个可选的参数,用于保存字符串被替换的次数。