字符串输出及格式化
echo
输出一个或多个字符串
echo ( string $arg1 [, string $... ] ) : void
echo 不是一个函数,可以不必使用圆括号来括起它的参数列表(如果传递多个参数,则必须不能用小括号)
和 print 最主要的不同之处是, echo 接受参数列表,并且没有返回值。
输出字符串
print ( string $arg ) : int
总是返回 1
printf
输出格式化字符串
printf ( string $format [, mixed $args [, mixed $... ]] ) : int
format
args
...
输出根据 format 格式化后的字符串
返回输出字符串的长度。
vprintf
vprintf ( string $format , array $args ) : int
输出格式化字符串,与 printf()
函数类似,但是接收一个数组参数,而不是一系列可变数量的参数。
sprintf
返回格式化字符串
sprintf ( string $format [, mixed $... ] ) : string
返回根据 format 格式化后的字符串
vsprintf
vsprintf ( string $format , array $args ) : string
返回格式化字符串,与 sprintf()
函数类似,但是接收一个数组参数,而不是一系列可变数量的参数。
fprintf
将格式化后的字符串写入到流
fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] ) : int
handle
文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
format
写入根据 format 格式化后的字符串到由 handle
句柄打开的流中。
返回写入的字符串长度。
vfprintf
vfprintf ( resource $handle , string $format , array $args ) : int
将格式化后的字符串写入到流,与 vfprintf()
函数类似,但是接收一个数组参数,而不是一系列可变数量的参数。
number_format
以千位分隔符方式格式化一个数字
number_format( float $number[, int $decimals = 0] ) : string
number_format( float $number, int $decimals = 0, string $dec_point = ".", string $thousands_sep = ",") : string
number
要格式化的数字
decimals
要保留的小数位数。默认为 0
dec_point
指定小数点显示的字符。默认为
.
thousands_sep
指定千位的分隔符显示的字符。默认为英文逗号
,
本函数可以接受1个、2个或者4个参数(注意:不能是3个):
返回格式化后的字符串
字符串比较
strcmp
二进制安全字符串比较
strcmp ( string $str1 , string $str2 ) : int
str
第一个字符串
str2
第二个字符串
str1 小于、等于、大于 str2 分别返回 -1,0 和 1
strcasecmp
与 strcmp()
类似,不同的是本函数不区分大小写
strncmp
与 strcmp()
类似,不同之处在于你可以指定两个字符串比较时使用的长度(即最大比较长度)
strncmp ( string $str1 , string $str2 , int $len ) : int
strncasecmp
与 strcasecmp()
类似,不同之处在于你可以指定两个字符串比较时使用的长度(即最大比较长度)
strnatcmp
按自然排序比较字符串
strnatcasecmp
与 strnatcasecmp()
类似,不同的是本函数不区分大小写
字符串定位
strpos
查找子串在字符串中首次出现的位置
strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
haystack
在该字符串中查找
needle
要查找的子串
offset
偏移量,如果提供了此参数,搜索会从字符串该字符数的起始位置开始查找。 如果是负数,查找会从字符串结尾指定字符数开始。
返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。如果没有找到则返回 false
特别注意:
PHP 字符串的起始位置为 0,与 MySQL 字符串的起始位置为 1 不同
注意区分返回结果的 false 和 0,false 表示没有找到,而 0 表示要查找的子串在起始位置
stripos
与 strpos()
类似,不同的是本函数不区分大小写
strrpos
与 strpos()
类似,不同的是本函数查找字符串最后一次出现的位置
strrpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
haystack
在该字符串中查找
needle
要查找的子串
offset
偏移量,如果提供了此参数,搜索会从字符串该字符数的起始位置开始查找。 如果是负数,查找会在字符串结尾指定字符数的位置结束(这点与 strpos 不同)。
strripos
与 strrpos()
类似,不同的是本函数不区分大小写
获取字符串的子串
strstr
获取子串在字符串中首次出现的位置开始到末尾的字符
strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
haystack
在该字符串中查找
needle
要查找的子串
before_needle
默认为 false,返回 needle 在 haystack 首次出现的位置开始,到 haystack 末尾的字符(包括该位置)
如果为 true 则返回 needle 在 haystack 首次出现的位置之前的部分(不包括该位置)
查找成功,返回字符串的一部分,如果查找失败则返回 false
strchr 是 strstr 的别名
stristr
与 strstr()
类似,不同的是本函数不区分大小写
strrchr
获取字符(不是子串)在字符串中最后一次出现的位置到末尾的字符
strrchr ( string $haystack , mixed $needle ) : string
haystack
在该字符串中查找
needle
要查找的字符,如果指定了多个字符,则仅使用第一个(这与
strstr()
查找子串支持多个字符的行为是不同的)
返回 needle 在字符串 haystack 中最后一次出现的位置开始,直到 haystack 末尾的字符。如果 needle 未被找到,返回 FALSE。
substr
从字符串指定位置开始提取指定长度的子串
substr( string $string, int $start[, int $length] ) : string
string
输入字符串
start
开始位置如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。
如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始
如果 string 的长度小于 start,将返回 FALSE。
length
子串的长度如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。
如果提供了负数的 length,那么 string 末尾处的 length 个字符将会被省略(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回 FALSE
如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。
如果没有提供 length,返回的子串将从 start 位置开始直到字符串结尾。
返回提取的子串, 或者在失败时返回 FALSE。
替换字符串
substr_replace
将字符串中指定位置开始、指定长度的子串替换为新字符
substr_replace( mixed $string, mixed $replacement, mixed $start[, mixed $length] ) : mixed
string
输入字符串(也可以是一维数组,将替换数组的每一个元素)
replacement
目的字符
start
起始位置length
被替换的源字符的长度
在字符串 string 的副本中将由 start 和可选的 length 参数限定的子串使用 replacement 进行替换。
返回替换后的内容
str_replace
将字符串中特定的子串,替换为新字符
str_replace( mixed $search, mixed $replace, mixed $subject[, int &$count] ) : mixed
search
要查找的目标,可以是字符串,也可以用数组指定多个目标
replace
替换 search 的新字符,也可以用数组指定多重替换
subject
执行替换的数组或字符串
count
记录发生替换的次数
如果 search 和 replace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。
如果 replace 的值的个数少于 search 的个数,多余的替换将使用空字符串来进行。
如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始终使用这个字符串。
返回替换后的数组或字符串
str_ireplace
与 str_replace()
类似,不同的是本函数不区分大小写
strtr
替换指定字符
strtr( string $str, string $from, string $to) : string
strtr( string $str, array $replace_pairs) : string
str
待转换的字符串
from
字符串中与将要被转换的目的字符 to 相对应的源字符
to
字符串中与将要被转换的字符 from 相对应的目的字符
replace_pairs
以 array(‘from’ => ‘to’, …) 格式出现的数组,用来取代 to 和 from 参数
将在 from 中指定的字符转换为 to 中相应的字符。比如, 字符串中所有的 $from[$n] 都会被替换为 $to[$n],其中 $n 是两个参数都有效的位移(offset)。
如果 from 与 to 长度不相等,那么多余的字符部分将被忽略
返回替换后的字符串
字符串过滤首尾字符
trim
去除字符串首尾处的空白字符(或其他字符)
trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) : string
str
待处理的字符串
character_mask
指定要去除的字符串,可以使用例如
a..Z
列出一个字符范围如果不指定,则默认去除:
\t
(ASCII 9 (0x09)),制表符。\n
(ASCII 10 (0x0A)),换行符。\r
(ASCII 13 (0x0D)),回车符。\0
(ASCII 0 (0x00)),空字节符。\x0B
(ASCII 11 (0x0B)),垂直制表符。
返回过滤后的字符串。
ltrim
与 trim()
类似,不同的是本函数仅去除开头的空白字符(或其他字符)
rtrim
与 trim()
类似,不同的是本函数仅去除末尾的空白字符(或其他字符)
chop 是 rtrim 的别名
大小写转换
strtolower
将字符串全部转换为小写
strtolower ( string $string ) : string
string
要转换的字符串
返回转换后的字符串
strtoupper
与 strtolower()
类似,不同的是本函数将字符串全部转换为大写
lcfirst
与 strtolower()
类似,不同的是本函数将字符串首字母转换为小写
ucfirst
与 lcfirst()
类似,不同的是本函数将字符串首字母转换为大写
ucwords
将字符串中所有单词的首字母转换为大写
ucwords ( string $str [, string $delimiters = " \t\r\n\f\v" ] ) : string
str
要转换的字符串
delimiters
可选的
delimiters
,可以指定单词的分割字符。默认为:空格符、制表符、换行符、回车符、水平线以及竖线
转义字符
addslashes
使用反斜线转义字符串
addslashes ( string $str ) : string
str
要转义的字符串
返回转义后的字符串。只有单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)会被转义。
此函数常用于往数据库中输入数据时拼接 SQL 语句。强烈建议使用 DBMS 指定的转义函数 (比如 MySQL 是 mysqli_real_escape_string()
,PostgreSQL 是 pg_escape_string()
)
addcslashes
以 C 语言风格使用反斜线转义字符串中的字符
addcslashes ( string $str , string $charlist ) : string
str
要转义的字符串
charlist
指定被转义的字符(字符序列)
返回转义后的字符串
stripslashes
反转义一个使用 addslashes() 转义的字符串
stripslashes( string $str) : string
返回反转义后的字符串。
stripcslashes
反转义一个使用 addcslashes() 转义的字符串
stripcslashes( string $str) : string
返回反转义后的字符串。
quotemate
转义元字符集
quotemeta( string $str) : string
返回在 . \ + * ? [ ^ ] ( $ )
这些特殊字符前加反斜线 \
转义后的字符串
如果输入字符串为空,则返回 false
字符串与 HTML
htmlspecialchars
将特殊字符转换为 HTML 字符实体
htmlspecialchars( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")[, bool $double_encode = TRUE]]] ) : string
string
待转换的字符
flags
位掩码,由以下某个或多个标记组成,设置转义处理细节、无效单元序列、文档类型。默认是
ENT_COMPAT | ENT_HTML401
ENT_COMPAT
会转换双引号,不转换单引号。ENT_QUOTES
既转换双引号也转换单引号。ENT_NOQUOTES
单/双引号都不转换ENT_IGNORE
静默丢弃无效的代码单元序列,而不是返回空字符串。不建议使用此标记,因为它» 可能有安全影响。ENT_SUBSTITUTE
替换无效的代码单元序列为 Unicode 代替符(Replacement Character),U+FFFD
(UTF-8) 或者�
(其他),而不是返回空字符串。ENT_DISALLOWED
为文档的无效代码点替换为 Unicode 代替符(Replacement Character):U+FFFD
(UTF-8),或�
(其他),而不是把它们留在原处。比如以下情况下就很有用:要保证 XML 文档嵌入额外内容时格式合法。ENT_HTML401
以 HTML 4.01 处理代码。ENT_XML1
以 XML 1 处理代码。ENT_XHTML
以 XHTML 处理代码。ENT_HTML5
以 HTML 5 处理代码。
encoding
字符集double_encode
设为 false 时,不会转换现有的 HTML 实体,默认为 true
某类字符在 HTML 中有特殊用处,如需保持原意,需要用 HTML 实体来表达。
执行转换的字符有:
转换前 | 转换后 |
---|---|
& |
& |
" |
" |
' |
' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。 |
< |
< |
> |
> |
返回转换后的字符
htmlentities
与 htmlspecialchars()
类似,不同的是本函数会转换所有具有 HTML 实体的字符
htmlspecialchars_decode
将特殊的 HTML 实体转换回普通字符
htmlspecialchars_decode( string $string[, int $flags = ENT_COMPAT | ENT_HTML401] ) : string
string
待转换的字符
flags
位掩码
此函数的作用和 htmlspecialchars()
刚好相反
返回转换后的字符
html_entity_decode
将 HTML 实体转换回普通字符
html_entity_decode( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")]] ) : string
此函数的作用和 htmlentities()
刚好相反
strip_tags
从字符串中去除 HTML 和 PHP 标记
strip_tags( string $str[, string $allowable_tags] ) : string
str
要处理的字符串
allowable_tags
使用可选的第二个参数指定不被去除的字符列表
在 PHP5.3 或更高的版本中会忽略自闭和标签。例如,如果需要允许
<br/>
,需要使用strip_tags($str, '<br>')
HTML 注释和 PHP 标签也会被去除。这里是硬编码处理的,所以无法通过 allowable_tags 参数进行改变。
由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除
nl2br
在字符串所有换行符之前插入 HTML 换行标记
nl2br ( string $string [, bool $is_xhtml = TRUE ] ) : string
string
要转换的字符串
is_xhtml
是否使用 XHTML 兼容的换行标记。默认为 true,替换为
<br />
,设为 false 则替换为<br>
在字符串所有换行符(\r\n
\n\r
\r
\n
)之前插入 HTML 换行标记,返回调整后的字符串
字符串与数组
implode
将一个一维数组的值转化为字符串
implode( string $delimiter, array $array) : string
delimiter
默认为空的字符串
array
要转换的数组
返回一个由 delimiter 分割开的数组的值。
因为历史原因,implode() 可以接收两种参数顺序,但是 explode() 不行。不过使用统一的顺序可以避免混淆。
join 是 implode 的别名
implode()
函数的别名
explode
使用分隔符将字符串分割为数组
explode( string $delimiter, string $string[, int $limit] ) : array
delimiter
分隔符
string
被分割的字符串
limit
如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
如果 limit 是 0,则会被当做 1。
返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来
str_split
按片段长度把字符串分割为数组
str_split( string $string[, int $split_length = 1] ) : array
string
要分割的字符串
split_length
返回的数组中的每个元素均为一个长度为 split_length 的字符片段。split_length 默认为 1,每个字符块为单个字符。
如果 split_length 小于 1,返回 FALSE。
如果 split_length 参数超过了 string 超过了字符串 string 的长度,整个字符串将作为数组仅有的一个元素返回。
str_getcsv
解析 CSV 字符串为一个数组
str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] ) : array
input
待解析的字符串
delimiter
设定字段界定符(仅单个字符)。 默认为逗号
,
enclosure
设定字段包裹字符(仅单个字符)。默认为双引号
"
escape
设置转义字符(仅单个字符)。默认为反斜线
\
返回一个包含读取到的字段的索引数组
十六进制编码字符串
bin2hex
将数据转换为十六进制编码
bin2hex( string $str) : string
str
待转换的字符串
将每个字节的二进制值转换为十六进制值后,将所有十六进制值作为字符串拼接在一起。
返回转换后的十六进制字符
这个函数不是转换十六进制数字为二进制数字
hex2bin
解码十六进制编码的字符串
hex2bin( string $data) : string
data
十六进制编码的数据
bin2hex()
的逆函数,返回编码前的字符串 或者在失败时返回 FALSE。
uuencode 编码字符串
convert_uuencode
使用 uuencode
算法编码一个字符串
convert_uuencode( string $data) : string
data
要编码的数据
uuencode
算法会将所有(含二进制数据)字符串转化为可输出的字符,并且可以被安全的应用于网络传输。使用 uuencode
编码后的数据将会比源数据大 35% 左右
返回编码后的数据,或者在失败时返回 false
convert_uudecode
解码一个 uuencode 算法编码的字符串
convert_uudecode( string $data) : string
data
要解码的数据
返回解码后的字符串数据, 或者在失败时返回 FALSE
URL 编码
urlencode
编码 URL 字符串
urlencode( string $str) : string
str
要编码的字符串
将除了 - _ .
之外的所有非字母数字字符都替换成 %
后跟两位十六进制数,空格则编码为加号 +
。
此编码与 WWW
表单 POST
数据的编码方式是一样的,同时与 application/x-www-form-urlencoded
的媒体类型编码方式一样。
由于历史原因,此编码在将空格编码为加号 +
方面与 RFC3986
编码不同( RFC 3986
将 空格 编码为 %20
)。
返回编码后的字符串
rawurlencode
按照 RFC 3986 对 URL 进行编码
rawurlencode( string $str) : string
str
要编码的字符串
将除了 - _ .
之外的所有非字母数字字符都替换成 %
后跟两位十六进制数。这是在 RFC 3986
中描述的编码,是为了保护原义字符以免其被解释为特殊的 URL
定界符,同时保护 URL
格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱
返回编码后的字符串
urldecode
解码 URL 编码后的字符
urldecode( string $str) : string
解码给出的已编码字符串中的任何 %##。加号(’+’)被解码成一个空格字符。
返回解码后的字符
rawurldecode
与 urldecode()
类似,不同的是本函数不会把 +
解码成一个空格字符
http_build_query
将数组转换为 URL-encode 后的请求字符串
http_build_query( mixed $query_data[, string $numeric_prefix[, string $arg_separator[, int $enc_type = PHP_QUERY_RFC1738]]] ) : string
query_data
可以是一维数组、多维数组或包含属性的对象(只有 public 属性会加入结果)
numeric_prefix
如果在基础数组中使用了数字下标同时给出了该参数,此参数值将会作为基础数组中的数字下标元素的前缀。
这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名
arg_separator
除非指定并使用了这个参数,否则会用 PHP配置项 arg_separator.output 来分隔参数(此配置项默认为
&
)enc_type
默认使用 PHP_QUERY_RFC1738
如果 enc_type 是 PHP_QUERY_RFC1738,则编码将会以 » RFC 1738 标准和 application/x-www-form-urlencoded 媒体类型进行编码,空格会被编码成加号(+)。
如果 enc_type 是 PHP_QUERY_RFC3986,将根据 » RFC 3986 编码,空格会被百分号编码(%20)
返回一个 URL 编码后的字符串
parse_str
将字符串解析成多个变量
parse_str( string $encoded_string[, array &$result] ) : void
encoded_string
输入的字符串( a=b&c=d 格式的查询字符串)
result
默认将输入字符串解析为变量并设置到当前作用域(如果提供了 result 则会设置到该数组里 )。
如果设置了第二个变量 result,变量将会以数组元素的形式存入到这个数组,作为替代
没有返回值
极度不建议 在没有 result 参数的情况下使用此函数,并且在 PHP 7.2 中将废弃不设置参数的行为
base64 编码
base64_encode
使用 base64 对数据进行编码
base64_encode( string $data) : string
编码后的字符串数据, 或者在失败时返回 FALSE。
Base64-encoded 数据要比原始数据多占用 33% 左右的空间。
base64_decode
对 base64 编码的数据进行解码。
base64_decode( string $data[, bool $strict = false] ) : string
data
要解码的数据strict
当设置 strict 为 TRUE 时,一旦输入的数据超出了 base64 字母表,将返回 FALSE。否则会静默丢弃无效的字符。
返回解码后的原始字符串,或者在失败时返回 FALSE。
quoted-printable 编码
quoted_printable_encode
将 8-bit 字符串转换成 quoted-printable 字符串
quoted_printable_encode( string $str) : string
str
要转换的字符串
返回 quoted-printable 格式的字符,该格式由 RFC2045
6.7 章节里制定。
该函数与 imap_8bit() 函数十分相似,不同的是该函数不需要 IMAP 模块就能运行。
quoted_printable_decode
将 quoted-printable 字符串转换为 8-bit 字符串
quoted_printable_decode( string $str) : string
返回 quoted-printable 解码之后的 8-bit 字符串
该函数与 imap_qprint() 函数十分相似,但是该函数不需要依赖 IMAP 模块
ASCII 码
ord
转换字符串第一个字节为 0-255 之间的值
ord ( string $string ) : int
string
字符串
如果字符串是 ASCII、 ISO-8859、Windows 1252之类单字节编码,就等于返回该字符在字符集编码表中的位置。 但请注意,本函数不会去检测字符串的编码,尤其是不会识别类似 UTF-8 或 UTF-16 这种多字节字符的 Unicode 代码点(code point)。
返回 0-255 之间的整数值
chr
返回 ASCII 码对应的字符
chr ( int $ascii ) : string
ascii
ASCII 码
信息摘要
通常用于检查传输的数据、文件等是否完整,是否被篡改
md5
计算字符串的 MD5 散列值
md5 ( string $str [, bool $raw_output = FALSE ] ) : string
str
字符串
raw_output
如果为 true,md5 摘要以原始二进制格式返回,长度为 16 字节;默认为 false,返回 32 字符长度的十六进制数字
原始二进制格式的长度为
128 位
=16 字节
,转换为十六进制数字形式后,每两个十六进制数字表示一个字节,所以转换后为 32 个十六进制数字
返回字符串的 md5 散列值
由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密
md5_file
计算指定文件的 MD5 散列值
与 md5()
类似,不同的是,本函数的第一个参数为文件名(包含路径)
sha1
计算字符串的 sha1 散列值
sha1( string $str[, bool $raw_output = false] ) : string
str
字符串
raw_output
如果为 true,sha1 摘要以原始二进制格式返回,长度为 20 字节;默认为 false,返回 40 字符长度的十六进制数字
原始二进制格式的长度为
160 位
=20 字节
,转换为十六进制数字形式后,每两个十六进制数字表示一个字节,所以转换后为 40 个十六进制数字
返回字符串的 sha1 散列值
sha1_file
计算文件的 sha1 散列值
与 sha1()
类似,不同的是本函数的第一个参数为文件名(包含路径)
hash
生成哈希值 (消息摘要)
hash( string $algo, string $data[, bool $raw_output = FALSE] ) : string
algo
要使用的哈希算法,例如:”md5”,”sha256”,”haval160,4” 等。
data
要进行哈希运算的消息。
raw_output
如果 raw_output 设置为 TRUE, 则返回原始二进制数据表示的信息摘要,否则返回十六进制小写字符串格式表示的信息摘要。
返回指定算法生成的哈希值(消息摘要)
crc32
计算一个字符串的 crc32 多项式
crc32( string $str) : int
str
字符串
返回 str 的 32 位循环冗余校验码多项式。
crypt
单向字符串散列
crypt( string $str[, string $salt] ) : string
str
要散列的字符串
salt
可选的盐值字符串。如果没有提供,算法行为将由不同的算法实现决定,并可能导致不可预料的结束。
返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。
其他
strlen
获取字符串的长度
strlen ( string $string ) : int
成功则返回字符串 string 的长度;如果 string 为空,则返回 0。
str_repeat
重复一个字符串
str_repeat ( string $input , int $multiplier ) : string
input
被重复的字符串multiplier
重复的次数
返回重复后的字符串
str_pad
使用另一个字符串,填充字符串到指定长度
str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] ) : string
input
原始字符串
pad_length
填充后的长度。如果 pad_length 的值是负数,小于或者等于输入字符串的长度,不会发生任何填充,并会返回 input
pad_string
填充的字符。如果填充字符的长度不能被 pad_string 整除,那么 pad_string 可能会被缩短。
pad_type
填充的位置。可选的 pad_type 参数的可能值为 STR_PAD_RIGHT,STR_PAD_LEFT 或 STR_PAD_BOTH。默认是 STR_PAD_RIGHT。
返回填充后的字符串
chunk_split
将字符串分割为小块
chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] ) : string
body
要分割的字符
chunklen
分割的尺寸。默认为 76
end
行尾符号。默认为
\r\n
使用此函数将字符串分割成小块非常有用。例如将 base64_encode() 的输出转换成符合 RFC 2045 语义的字符串。它会在每 chunklen 个字符后边插入 end。
返回分割后的字符串
str_shuffle
随机打乱一个字符串
str_shuffle ( string $str ) : string
返回打乱后的字符串
parse_url
解析 URL,返回其组成部分
parse_url( string $url[, int $component = -1] ) : mixed
url
要解析的 URL
component
指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分
对严重不合格的 URL,parse_url() 可能会返回 FALSE。
如果省略了 component 参数,将返回一个关联数组 array,数组中可能的键有以下几种:
scheme
- 如 httphost
port
user
pass
path
query
- 在问号 ? 之后的内容fragment
- 在散列符号 # 之后
如果指定了 component 参数, parse_url() 返回一个 string (或在指定为 PHP_URL_PORT 时返回一个 integer)而不是 array。如果 URL 中指定的组成部分不存在,将会返回 NULL。
strrev
反转字符串
strrev( string $string) : string
返回反转后的字符串。