1. parse_str() 函数把查询字符串解析到变量中
parse_str(string,array)
如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。
php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。
parse_str("name=Bill&age=60",$arr); print_r($arr); parse_str("name=Bill&age=60"); echo $name."<br>"; echo $age;
2. quoted_printable_decode() 对经过 quoted-printable 编码后的字符串进行解码,返回 8 位的 ASCII 字符串
quoted_printable_encode() 函数把 8 位字符串转换为 quoted-printable 字符串。
经过 quoted-printable 编码后的数据与通过邮件传输进行修改的不一样。完全 US-ASCII 的文本可进行 quoted-printable 编码,以确保通过文字翻译或线包网关进行消息传递时数据的完整性。
3.
quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠。
预定义的字符:
- 句号(.)
- 反斜杠()
- 加号(+)
- 星号(*)
- 问号(?)
- 方括号([])
- 脱字号(^)
- 美元符号($)
- 圆括号(())
该函数可用于转义拥有特殊意义的字符,比如 SQL 中的 ( )、[ ] 以及 * 。
4. sscanf() 函数根据指定的格式解析来自字符串的输入。 sscanf() 函数基于格式字符串向变量中解析字符串
如果只向该函数传递两个参数,数据将以数组的形式返回。否则,如果传递了额外的参数,则被解析的数据会存储在这些参数中。如果区分符的数目大于包含它们的变量的数目,则会发生错误。不过,如果区分符的数目小于包含它们的变量的数目,则额外的变量包含 NULL。
sscanf(string,format,arg1,arg2,arg++)
format
必需。规定要使用的格式。
可能的格式值:
- %% - 返回一个百分号 %
- %c - ASCII 值对应的字符
- %d - 包含正负号的十进制数(负数、0、正数)
- %e - 使用小写的科学计数法(例如 1.2e+2)
- %u - 不包含正负号的十进制数(大于等于 0)
- %f - 浮点数
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数(小写字母)
- %X - 十六进制数(大写字母)
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
- + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记)
- ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。)
- - (左调整变量值)
- [0-9] (规定变量值的最小宽度)
- .[0-9] (规定小数位数或最大字符串长度)
$str = "age:30 weight:60kg"; sscanf($str, "age:%d weight:%dkg",$age,$weight); // 显示类型和值 var_dump($age,$weight);
5. str_getcsv() 函数解析 CSV 格式字段的字符串,并返回包含所读取字段的数组。
str_getcsv(string,separator,enclosure,escape)
separator可选。字符,规定字段分隔符(只允许一个字符)。默认值为逗号( , )。
enclosure可选。字符,规定字段包裹字符。默认值为双引号( " )。
escape可选。字符,规定转义字符。默认为反斜线()。
以数组形式返回 CSV 字段。
$str = '"a","b","c","d"'; print_r(str_getcsv($str));
Array ( [0] => a [1] => b [2] => c [3] => d )
6. str_ireplace() 函数替换字符串中的一些字符(不区分大小写)
str_ireplace(find,replace,string,count)
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。一个变量,对替换数进行计数。
该函数必须遵循下列规则:
- 如果搜索的字符串是一个数组,那么它将返回一个数组。
- 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
- 如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
- 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。
返回带有替换值的字符串或数组。
7. str_pad() 函数把字符串填充为新的长度
str_pad(string,length,pad_string,pad_type)
string必需。规定要填充的字符串。
length必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。
pad_string可选。规定供填充使用的字符串。默认是空白。
pad_type可选。规定填充字符串的哪边。
可能的值:
- STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。
- STR_PAD_LEFT - 填充字符串的左侧。
- STR_PAD_RIGHT - 填充字符串的右侧。默认。
8. str_repeat() 函数把字符串重复指定的次数
9. str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)
10. str_rot13() 函数对字符串执行 ROT13 编码
ROT13 编码把每一个字母在字母表中向前移动 13 个字母。数字和非字母字符保持不变
编码和解码都是由相同的函数完成的。如果您把已编码的字符串作为参数,那么将返回原始字符串。
echo str_rot13("I love Shanghai"); echo "<br>"; echo str_rot13("V ybir Funatunv");
V ybir Funatunv
I love Shanghai
11. str_shuffle() 函数随机打乱字符串中的所有字符
$str = "abcdefgh";//八位数及以下,有随机性,大于之后数字没随机性了,$i变成了一个固定的数,不知道为啥。 $rand = str_shuffle($str); echo $rand; echo "<br/>"; $i = 0; while ($rand != ($temp = str_shuffle($str))) { $i++; } echo $temp; echo "<br/>"; echo $i;
12. str_split() 函数把字符串分割到数组中
str_split(string,length)
length默认是1.每个数组元素的长度
13. str_word_count() 函数计算字符串中的单词数
str_word_count(string,return,char)
return可选。规定 str_word_count() 函数的返回值。
可能的值:
- 0 - 默认。返回找到的单词的数目。
- 1 - 返回包含字符串中的单词的数组。
- 2 - 返回一个数组,其中的键名是单词在字符串中的位置,键值是实际的单词。
可选。规定被视为单词的特殊字符。
echo (str_word_count("I love Shanghai!",0))."<br/>"; print_r(str_word_count("I love Shanghai!",1)); print_r(str_word_count("I love Shanghai!",2));
3
Array ( [0] => I [1] => love [2] => Shanghai ) Array ( [0] => I [2] => love [7] => Shanghai )