PHP常用字符串函数(附带实例)
在开发程序时,经常会涉及对字符串的处理。例如,获取用户名称的首字母、判断用户输入数据的长度等。为此,PHP 提供了字符串函数,以满足不同的开发需求。
PHP 中,常用的字符串函数如下表所示:
下面对 strlen()、substr()、str_replace() 和 strcmp() 函数进行详细讲解。
下面演示针对 UTF-8 字符集 strlen() 函数的使用方法,示例如下:
substr() 函数的第 2 个参数和第 3 个参数的使用说明如下:
substr() 函数的使用示例如下:
str_replace() 函数的使用示例如下:
strcmp() 函数的使用示例如下:
PHP 中,常用的字符串函数如下表所示:
函数 | 功能描述 |
---|---|
strlen(string $string) | 获取字符串的长度 |
strpos(string $haystack, string $needle, int $offset = 0) | 获取指定字符串在目标字符串中首次出现的位置 |
strrpos(string $haystack, string $needle, int $offset = 0) | 获取指定字符串在目标字符串中最后一次出现的位置 |
str_replace(string $search, string $replace, string $subject, int $count) | 对字符串中的某些字符进行替换 |
substr(string $string, int $start, int $length = null) | 获取字符串的子串 |
explode(string $separator, string $string, int $limit = PHP_INT_MAX) | 使用指定的分隔符将目标字符串分割,分割结果是数组 |
implode(string $separator, array $array) | 使用指定的连接符将数组中的元素拼接成字符串 |
trim(string $string, string $characters) | 去除字符串首尾处的空白字符(或指定的字符串) |
str_repeat(string $string, int $times) | 重复字符串 |
strcmp(string $string1, string $string2) | 比较两个字符串的大小 |
下面对 strlen()、substr()、str_replace() 和 strcmp() 函数进行详细讲解。
PHP strlen()函数
strlen() 函数用于获取字符串的长度,该函数的返回值类型是整型。在计算长度时,一个英文字符、一个空格的长度都是 1;中文字符的长度取决于字符集,在 UTF-8 字符集中一个中文字符的长度为 3,在 GBK 字符集中一个中文字符的长度为 2。下面演示针对 UTF-8 字符集 strlen() 函数的使用方法,示例如下:
echo strlen('abc'); // 输出结果:3 echo strlen('中国'); // 输出结果:6 echo strlen('P H P'); // 输出结果:5从上述示例代码的输出结果可以看出,字符串 "abc" 的长度为 3,字符串 "中国" 的长度为 6,字符串 "P H P" 的长度为 5。
PHP substr() 函数
substr() 函数用于获取字符串的子串,该函数的第 1 个参数是待处理的字符串;第 2 个参数是字符串开始截取的位置;第 3 个参数是截取字符串的长度。substr() 函数的第 2 个参数和第 3 个参数的使用说明如下:
- 第 2 个参数为负数 n 时,表示从待处理字符的结尾处向左数第 |n| 个字符开始。
- 省略第 3 个参数时,表示截取到字符串的结尾。
- 第 3 个参数为负数 n 时,表示从截取后的字符串的末尾处去掉 |n| 个字符。
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() 函数的返回值类型是字符串型。
PHP str_replace()函数
str_replace() 函数用于对字符串中的字符进行替换操作,第 1 个参数表示目标字符串;第 2 个参数表示替换字符串;第 3 个参数表示执行替换的字符串;第 4 个参数是可选的,用于保存字符串被替换的次数。str_replace() 函数的使用示例如下:
echo str_replace('e', 'E', 'welcome', $count); // 输出结果:wElcomE echo $count; // 输出结果:2在上述示例代码中,输出变量 $count 的值为 2,说明字符串被替换了 2 次。
PHP strcmp()函数
strcmp() 函数用于比较两个字符串,根据字符的 ASCII 值进行比较。该函数的两个参数是待比较的字符串,该函数的返回值有 -1、0、1,具体介绍如下:- 当第一个字符串小于第二个字符串时,返回结果为 -1;
- 当第一个字符串等于第二个字符串时,返回结果为 0;
- 当第一个字符串大于第二个字符串时,返回结果为 1。
strcmp() 函数的使用示例如下:
print_r(strcmp('A', 'a')); // 输出结果:-1 print_r(strcmp('A', 'A')); // 输出结果:0 print_r(strcmp('a', 'A')); // 输出结果:1在上述示例代码中,字符“A”的 ASCII 值为 65,字符“a”的 ASCII 值为 97,字符“A”和“a”的比较结果为 -1。字符“A”和“A”的比较结果为 0,字符“a”和“A”的比较结果为 1。