字符串处理函数

本章节列出截至PHP 7.3所有的字符串函数以供参考。

下表以相关性排序。

函数名 描述
strpbrk() 查找特定字符串中,以特定字符(单个)位置开始的子串
strpos() 查找特定子字符串首次出现的位置索引值(从 0 开始)
strstr() 返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分
strchr() 别名strstr(),返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分
stripos() 返回特定子字符串首次出现的位置索引,不区分大小写
stristr() 返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分,不区分大小写
strrchr() 返回特定字符(单个,如果为多个字符则取第一个字符)在字符串中最后出现的位置,到字符串末尾的部分
strrpos() 接受多个字符组成的子串,并返回该子串在指定字符串中最后出现的位置索引
strripos() 接受多个字符组成的子串,并返回该子串在指定字符串中最后出现的位置索引,不区分大小写
trim() 返回去除指定字符串首尾处的空白字符(或其他字符)后的字符串
ltrim() 返回去除指定字符串左端的空白符(或其他字符)后的字符串
rtrim() 返回去除指定字符串右端的空白符(或其他字符)后的字符串
chop() rtrim()函数的别名。返回去除指定字符串右端的空白符(或其他字符)后的字符串
strip_tags() 返回去除指定字符串中 HTML 和 PHP 标记后的字符串
nl2br() 将指定字符串中所有的换行标记(\n\r)替换成有效的 HTML 换行标记<br />
str_pad() 向指定字符串填充另一个字符串的特定长度的内容,返回填充后的字符串
str_replace() 将指定字符串中特定的部分,替换成另一个字符串
str_ireplace() 将指定字符串中特定的部分,替换成另一个字符串,不区分大小写
substr_replace() 替换指定位置开始后的子字符串,返回替换后的字符串
substr() 返回从某位置开始、特定长度的子字符串
count_chars() 返回指定字符串中,每个字节值出现的次数数组
strlen() 返回指定字符串的长度
strcspn() 返回在字符列表中,找到指定字符串中第一次出现字符列表中字符的前面字符的位数
str_repeat() 返回指定字符串被重复一定次数后的字符串
strrev() 返回指定字符串被翻转后的字符串
strtok() 将指定字符串以分界符分割成若干个子字符串,每次只返回一个子字符串
strtr() 将指定字符替换为另一字符。返回被替换后的字符串
ucfirst() 将字符串的首字母转换为大写形式
lcfirst() 将字符串的首字母转换为小写形式
ucwords() 将字符串中每个英文单词的首字母转换为大写形式
strtolower() 将字符串中的所有英文字母转换为小写形式
strtoupper() 将字符串中的所有英文字母转换为大写形式
str_word_count() 计算字符串中的单词数量
chunk_split() 将字符串分割成小块
explode() 使用一个字符串分割另一个字符串,返回被分割后子字符串组成的数组
str_shuffle() 随机打乱一个字符串
parse_str() 将字符串解析为多个变量,并以数组元素形式存入数组
str_split() 将字符串分割成定长的子字符串,然后将其存入数组
implode() 将一个一维数组的值转化为字符串,返回转化后的结果
join() 函数implode()的别名。将一个一维数组的值转化为字符串,返回转化后的结果
addslashes() 在部分特殊字符(单引号'、双引号"、反斜线\以及NULL)前面加上反斜线\
addcslashes() 以C语言风格使用反斜线对字符串进行转义处理,可对指定字符或字符范围进行转义
quotemeta() 使用反斜线对部分特殊字符进行转义处理
htmlentities() 将字符串中的 HTML 字符转换为 HTML 实体
htmlspecialchars() htmlentities()函数类似,它将部分特殊字符转换为 HTML 实体
htmlspecialchars_decode() 将部分特殊的 HTML 实体转换为普通字符
stripslashes() 将一个已被函数addslashes()转义的字符串,进行反转义(即去除特殊符号前的斜线)
stripcslashes() 将一个已被函数addcslashes()转义的字符串,进行反转义
get_html_translation_table() 返回使用函数htmlspecialchars()htmlentities()后的转换表
html_entity_decode() 将 HTML 实体转换为相应的字符
hex2bin() 将十六进制字符串转换为二进制字符串
bin2hex() 将二进制字符串转换为十六进制字符串
quoted_printable_decode() 对经过quoted-printable编码过的字符串进行解码,返回8-bit的字符串
quoted_printable_encode() 8-bit的字符串转换为quoted-printable字符串
str_getcsv() 将一个csv格式的字符串解析到一个数组中,返回含有该csv字段值的数组
convert_cyr_string() 将一个Cyrillic字符转换为另一种Cyrillic字符
convert_uuencode() 将一个字符串使用uuencode算法进行编码,返回编码后的结果
convert_uudecode() 对一个使用uuencode算法编码过的字符串进行解码,返回解码后的结果
hebrev() 将一个逻辑顺序的希伯来文转换为视觉顺序的希伯来文
hebrevc() hebrev()相似,它不仅能将逻辑顺序的希伯来文转换为视觉顺序的希伯来文,还可以转换换行符
crc32() 计算一个字符串的crc32多项式,结果返回一个循环冗余校验码(crc,cyclic redundancy checksum)多项式
crypt() 返回一个使用了基于标准UNIX DES算法或其他可用的替代算法生成的散列字符串
substr_count() 返回指定子字符串在字符串中出现的次数
strspn() 查找一段连续在指定字符列表中出现的子字符串的长度
sha1() 计算指定字符串的sha1(美国安全散列算法1)散列值
sha1_file() 计算指定文件的sha1(美国安全散列算法1)散列值
similar_text() 根据Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)算法计算两个字符串的相似度
md5() 计算指定字符串的md5(RSA 数据安全公司的 MD5 报文算法)散列值
md5_file() 计算指定文件的md5(RSA 数据安全公司的 MD5 报文算法)散列值
metaphone() 类似于soundex()函数,一个语音算法,利用较大的英语发音规则,填补了soundex()函数算法的缺陷,比之更加精准
nl_langinfo() 返回指定的当地信息
levenshtein() 计算两个字符串之间的编辑距离(Levenshtein)
soundex() 利用英文字符的读音计算近似值,该近似值由四个字符组成,第一个为英文字母,后三个为数字
echo() 语言结构输出一个或多个字符串,不换行,没有返回值
print() 该语言结构输出一个字符串,不换行,只返回1
printf() 将字符串按某种特定格式输出。返回被格式化后的字符串长度
fprintf() 将格式化后的字符串写入到已打开的文件句柄。返回成功写入的字符串长度
sprintf() 返回被格式化后的字符串
sscanf() 根据指定格式解析字符串
vprintf() 作用与printf()函数类似,输出被格式化后的字符串,并返回输出字符串的长度
vfprintf() fprintf()函数相似,都是将已格式化的字符串写入到已打开的文件句柄
vsprintf() 作用与sprintf()函数类似,返回被格式化后的字符串
money_format() 将数字格式化为货币格式的字符串
number_format() 将一个数字以千位分隔符的方式格式化
str_rot13() 对指定字符串进行ROT13转换,返回转换后的字符串
wordwrap() 使用特定字符串将指定字符串打断为指定宽度的子字符串
chr() 将相应的 ASCII 码(0~255数值)转换为相应的字符
localeconv() 返回一个包含当地数字与货币信息的数组
ord() 转换字符串第一个字节为 0-255 之间的值
setlocale() 设置地区信息
strcmp() 比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0
strcasecmp() strcmp()函数类似,比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0
strncmp() strcmp()函数类似,都是比较二进制字符串的大小。但可以指定比较的长度
strncasecmp() 类似于strncmp()函数,比较两个字符串中若干个字符开头是否相同
substr_compare() 从偏移位置比较指定长度的子字符串是否相同,通常用以检查字符串的开始或结束是否为指定字符串
strcoll() 基于地域设置比较两个字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0
strnatcmp() 将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小
strnatcasecmp() strnatcmp()相似,但不区分大小写。将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小

本参考手册的格式说明:

  • 函数名
  • 定义
  • 语法
    • 函数名
    • 参数列表:参数列表中,变量名前是该变量的数据类型,其中特殊的mixed表示有多种可能的数据类型;使用方括号包裹的参数表示可选
    • 返回类型:冒号后面是函数的标准返回类型
  • 参数说明
  • 示例
  • 延展阅读
    • 与当前函数具有相关性、相似性的函数