PHP 字符串处理函数

字符串在PHP中使用的非常频繁,操作字符串的函数也非常多,这里总结一些常用的字符串处理函数,以便复习查阅。

strlen()

获取字符串长度

int strlen ( string $string )

返回给定的字符串 string 的长度。

参数
string 需要计算长度的字符串。


返回值
成功则返回字符串 string 的长度;如果 string 为空,则返回 0。

substr()

返回字符串的子字符串

string subset(string $string, int $start [, int $lenght])

参数
string 输入字符串,必须至少一个字符

start 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 "abcdef" 中,在位置 0 的字符是 "a",位置 2 的字符串是 "c" 等等。如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。如果 string 的长度小于 start,将返回 FALSE。


length 如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。


返回值
返回提取的子字符串, 或者在失败时返回 FALSE。

trim()

去除字符串首尾处的空白字符或者其他字符

string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )

此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符:

" " (ASCII 32 (0x20)),普通空格符。
"\t" (ASCII 9 (0x09)),制表符。
"\n" (ASCII 10 (0x0A)),换行符。
"\r" (ASCII 13 (0x0D)),回车符。
"\0" (ASCII 0 (0x00)),空字节符。
"\x0B" (ASCII 11 (0x0B)),垂直制表符。

参数
str 待处理的字符串。

charlist 可选参数,过滤字符也可由 charlist 参数指定。一般要列出所有希望过滤的字符,也可以使用 ".." 列出一个字符范围。


输出结果:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(14) "Example string"

返回值
过滤后的字符串。

strtolower()/strtoupper()

将字符串转化为小写/大写

string strtolower ( string $string )
string strtoupper ( string $string )

将 string 中所有的字母字符转换为小写/大写并返回。

参数
string 输入字符串。


返回值
返回转换后的小写字符串。

explode()

使用一个字符串分割另一个字符串

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

此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。

参数
delimiter 边界上的分隔字符。

string 输入的字符串。

limit 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。如果 limit 是 0,则会被当做 1。


返回值
此函数返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。如果 delimiter 为空字符串(""),explode() 将返回 FALSE。 如果 delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的 array, 否则返回包含 string 单个元素的数组。

strpos()

查找字符串首次出现的位置

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

返回 needle 在 haystack 中首次出现的数字位置。

参数
haystack 在该字符串中进行查找。

needle 如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。

offset 如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。和 strrpos()、 strripos()不一样,这个偏移量不能是负数。


返回值
返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时注意字符串位置是从0开始,而不是从1开始的。如果没找到 needle,将返回 FALSE。

str_split
将字符串转换为数组

array str_split ( string $string [, int $split_length = 1 ] )

将一个字符串转换为数组。

参数
string 输入字符串。

split_length 每一段的长度。


输出结果:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

返回值
如果指定了可选的 split_length 参数,返回数组中的每个元素均为一个长度为 split_length 的字符块,否则每个字符块为单个字符。如果 split_length 小于 1,返回 FALSE。如果 split_length 参数超过了 string 超过了字符串 string 的长度,整个字符串将作为数组仅有的一个元素返回。

md5

计算字符串的 MD5 散列值

string md5 ( string $str [, bool $raw_output = false ] )

使用RSA 数据安全公司的 MD5 报文算法计算 str 的 MD5 散列值。

参数
str 原始字符串。

raw_output 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。


返回值
以 32 字符十六进制数字形式返回散列值。

sha1

计算字符串的 sha1 散列值

string sha1 ( string $str [, bool $raw_output = false ] )

利用美国安全散列算法 1 计算字符串的 sha1 散列值。

参数
str 输入字符串。

raw_output 如果可选的 raw_output 参数被设置为 TRUE,那么 sha1 摘要将以 20 字符长度的原始格式返回,否则返回值是一个 40 字符长度的十六进制数字。

返回值
返回 sha1 散列值字符串。

你可能感兴趣的:(PHP 字符串处理函数)