首页 » PHP » PHP - 字符串操作

字符串基础操作

PHP处理多字节字符串(如UTF8中文)需要使用mb_xxx()系列函数(由mbstring扩展提供)。如果需要mbstring扩展,编译时需要添加--enable-mbstring参数。

操作函数说明
URL编解码rawurlencode()
rawurldecode()
空白转%20
urlencode()
urldecode()
空白转+
改变大小写strtolower()
strtoupper()
ucfirst()字符串的首字母大写
ucwords()字符串中每个单词的首字母。
ucwords(strtolower($s));实现每个单词首字母大写其余全小写。

字符串替换:

str_replace($search, $replace, $subject [, int &$count]);

字符串长度

int strlen(string $str);
int mb_strlen(string $str[, string $encoding]);

strlen()以字节计算字符串长度,而非字符计算,因此处理中文,需要用mb_strlen():

strlen("中文");                 // 6
mb_strlen("中文", "utf8");      // 2

遍历字符串中每个字符,通常用strlen()和for循环:

for($i = 0; $i < strlen($s); ++$i) {
    // ...
}

URL编解码

rawurlencode()和urlencode()的区别在于处理空格的方式。rawurlencode()根据RFC 1738将空格当作URL中的非法字符并将其编码为%20,urlencode()则把空格编码为+用于建立查询字符串(application/x-www-form-urlencoded)和cookie值的格式。

$s = "berlinix's website";
echo rawurlencode($s)."\n";
echo urlencode($s)."\n";

输出

berlinix%27s%20website      # rawurlencode: space to %20
berlinix%27s+website        # urlencode: space to +

数组与字符串

字符串转数组(切割字符串):

string explode(string $delimiter, string $string[, int $limit]);

数组转字符串:

string implode(string $glue, array $pieces);

分享

0