7、对数组进行重新排序
boolean shuffle() 对数组进行随机排列
array array_reverse() 将数组中的元素逆置
array array_flip() 将数组中的索引与其元素值兑换
8、数组的遍历
current() 获取数组中当前指针所指的元素值
next()将数组的指针向后移动一位,返回移动后指针所指向的元素的元素值
prev()将数组的指针向前移动一位,返回移动后指针所指向的元素的元素值
reset()指针设置回数组的起始位置
end() 将指针移动到数组的最后一个元素处
each()返回数组中当前指针所指向的“索引/元素值”对,并将数组指针向后移动一位
返回一个包含4个元素的数组,且该数组的索引分别为0,key,1,value
key() 返回数组当前指针所指向的索引值
array_walk()以相同的方式对数组中的每一个元素进行处理
array_reduce() 将自定义函数依次应用于数组的每个元素
9、其他的数组操作函数
list()从一个数组中一次提取多个值,并同时赋值给多个变量
count()/sizeof()计算数组中元素的个数
六、PHP中的字符串
1、访问字符串中的字符
字符串的三种定义方式:单引号、双引号和Heredoc方式
可以将字符串视为数组来处理。$test="hello"; $test{0}="h";推荐使用大括号,以免与数组混淆
2、字符串的格式化
字符串的格式化处理通常包括:去除字符串中多余的空格、大小写转换、加入和删除反斜杠和HTML格式化四部分
去除空格和其他符号
string trim(待处理的字符串,过滤字符串)
如果不指定过滤字符串,则默认去掉空格、Tab字符、换行符、回车符、字符串结束符和垂直制表符
可以使用“..”指定需要去除的一个范围,例如“a..f” 表示去掉a、b、c、d、e和f
只对字符串首尾字符进行过滤,即使指定了过滤字符串,字符串中间部分也不会参与过滤
string lrtim(待处理的字符串,过滤字符串)
去除字符串左边的空格和其他特殊字符
其他同trim()
string rtrim(待处理的字符串,过滤字符串),别名函数chop()
去除字符串右边的空格和其他特殊字符
其他同trim()
对字符串大小写的转换
strtolower(待处理的字符串)将指定字符串中的所有字符转换为小写
strtoupper(待处理的字符串)将指定字符串中的所有字符转换为大写
ucfirst(待处理的字符串)检查指定的字符串,如果指定字符串的第一个字符是字母,则将其转换为大写
ucword(待处理的字符串)将指定字符串中的每个单词的首字母转换为大写
加入和删除反斜杠
在将任何字符串保存到数据库中之前,应该使用addslashes()函数添加反斜杠;
在显示用户数据之前,应该调用stripslashes()函数去除反斜杠
addslashes(待处理的字符串)添加反斜杠
stripslashes(待处理的字符串)删除反斜杠
HTML格式化
nl2br(待处理的字符串)可以将字符串中的换行符转换成HTML中的标签"<br>",从而在浏览器中实现换行
htmlspecialchars(待处理的字符串,是否转换双引号和单引号,字符集)
可以使一些特殊的字符被当成普通的文本输出,而不会再进行HTML解析
第二个参数:默认只对双引号进行转换,ENT_COMPAT只转换双引号 ENT_QUOTES都转换
ENT_NOQUOTES 不进行转换
第三个参数:指定了转换时所使用的字符集,默认为ISO-8859-1
hemlentities(待处理的字符串,是否转换双引号和单引号,字符集)
功能同上,但可以转义更多的特殊字符
heml_entity_decode(待处理的字符串,是否转换双引号和单引号,字符集)
可以对显示字符串进行反向转换,转换后的字符串能够按HTML标签进行解析
strip_tags(待处理的字符串,允许保留的HTML标签)
去除所有的HTML和PHP标记
3、字符串的连接和分割
explode(分隔符,字符串,被分割的字符串片断的数量)按指定的分隔符将一个字符串分割
如果分隔符是字符串,函数会根据字符串中的每个字符来进行分割,而不会根据整个分割字符串来分割
implode(连接符,需要连接成字符串的数组)将一些字符串通过指定的连接符连接成一个字符串
join(连接符,需要连接成字符串的数组)功能同implode()
substr(字符串,开始位置,提取长度)从某个字符串中提取一部分子字符串
开始位置为负,将得到一个从原字符串尾部开始,长度为该负数绝对值的子字符串
提取长度为负,子字符串取到倒数第“length”个字符前
这个不难理解,-就表示从后面开始
strtok(字符串,分隔符)从指定字符串中取出一个字符串片段
如果分隔符是字符串,函数会根据字符串中的第一个字符来进行分割,而不会根据整个字符串来分割
在调用该函数对字符串进行连续分割时,只有第一个分割时需要指定参数str,第一个分割后,系统会自动
记录字符串及第一个分割后的指针位置,继续调用该函数,则会继续从该字符串指针的当前位置进行分割
。如果希望重置指针到字符串起始位置,只需将字符串重新作为参数传递给该函数即可。
split(分隔符,字符串,返回字符串个数)将一个字符串按指定的分隔符分解为多个子字符串