第一阶段暂告一段落,下一阶段 数据库
1.操作数组的函数
1.1range(起始值,结束值): 生成一个指定范围的数组
1.2array_merge():数组合并
数组合并时候下标冲突,按如下规则解决:
1.如果是字符串下标,后面的元素将前面的元素覆盖
2.如果在整数下标,重新建立下标数组。
1.3array_rand(数组,随机取出元素的个数)
随机取出数组内元素,返回随机数组的下标
如果随机取出1个,则返回整型下标
如果随机取出多个,返回整形下标数组。
1.4 shuffle(数组):打乱数组
打乱成功返回true,打乱失败返回false
eg.实现验证码功能(算法)
<?php
$array=array_merge(range('a','z'),range(0,9),range('A','Z')); //生成字符
$index=array_rand($array,4); //生成4位
shuffle($index); //打乱数组
$str='';
foreach($index as $i){ //拼接
$str.=$array[$i];
}
echo $str;
?>
1.5 is_array();判断变量是否是数组类型
2.操作数组键值函数
2.1array_keys()和array_values()
1.array_keys($array):返回数组中的键名
2.array_values($array):返回数组中的所有值
2.2array_combine(键,值)创建数组,用键数组的值做键名,值数组的值做值
注意:如果键数组和值数组的元素个数不一样,返回flase
2.3in_array(查找的值,数组)检查数组是否包含某个值,返回布尔值。
2.4array_key_exists(键,数组):检查键名或索引是否在数组之中
2.5isset(变量名):用来检测变量名是否设置并且设置的值不为空
array_key_exists()和isset()区别:
2.6array_search()
作用:数组中搜索给定的值,如果成功,则返回键名
3.数组连接和字符串分割函数
3.1implode():别名join(),将数组的值连接成字符串
3.2explode():将字符串分割成数组
4.数组运算函数
4.1array_merge(数组1,数组2):数组合并
4.2数组的差集:array_diff(数组1,数组2,….)(数组1-数组2-……)
4.3数组相交:array_intersect(数组1,数组2,……)
注意:数组的交集结果中数组下标使用的是第一个数组的下标。
5.使用回调函数的函数
回调函数:计算机自己调用的函数
5.1array_map(‘函数名’,’数组’)
1.调用PHP内的函数
2.调用PHP自定义函数
array_map()支持一次处理多个数组,将所有数组中同位置的元素作为参数传递给回调函数。
array_map()默认可以将多个数组的同位置的元素组成新数组。
注意:array_map()只能处理值,不能处理键
5.2array_walk(数组,回调函数)
作用:对数组中的每个元素的键值进行对调处理。类似于foreach循环
1.如果回调函数是一个参数,则这个参数是值,
2.如果回调函数是两个参数,第一个是值,第二个是键
6.栈和队列
- 栈和队列都属于数据结构
- 栈是先进后出
- 队列是先进先出
6.1实现栈效果的函数
1.array_push(数组,入栈[队列]的值);
2.array_pop():出栈,将最尾部的元素弹出
注意:array_push()和array_pop()作用在于维护一个连续的存储空间。为新增加的元素重写索引。
6.2实现队列效果的函数
1.array_shift();出队列,将队列中的第一个元素移除
2.array_unshift():再数组的开头插入一个元素。
7.数组排序函数
7.1 sort() :按值进行升序排列,不保持原来的键值关联
7.2rsort():按值进行降序排列,不保持原来的键值关联
7.3asort():按值进行升序排列,保持原来的键值关系
7.4arsort();按值进行降序排列,保持原来的键值关系
7.5ksort();按键进行升序排列
7.6krsort();按键降序排列
7.7natsort();自然排序
7.8usort();用户自定义排序
在第一个参数小于,等于,大于第二个参数时,该比较函数必须相应的返回一个小于,等于,大于0的整数。
8.字符串操作函数
字符串可以理解为字符的集合,所以可以通过[]来访问,不能操作中文。
8.1strlen()返回字符串长度。
返回字符串长度,以字节为单位。
在gbk下,一个汉字占两个字节,在utf8下,一个汉字3个字节
8.2trim(),ltrim()、rttim()
1.trim();去字符串两边的空格
2.ltrim():去掉左边空格
3.rtrim();去掉右边空格
8.3strpos()
strpos()查找字符串首次出现的位置
strrpos()查找字符串最后一次出现的位置
8.4str_repeat():重复字符串
8.5chr()、ord()
8.6substr(字符串,开始位置,截取长度):截取字符串
8.7strchr(),strrchr()
截取文件的后缀。
8.8str_replace():替换字符串
8.9str_split();将字符串分割成数组
8.10 str_pad(待填充字符串,总位数,填充字符,填充位置);填充字符串
可选参数有STR_PAD_LEFT,STR_PAD_BOTH,STR_PAD_RIGHT,如果没有指定,则默认为STR_PAD_RIGHT。
8.11字符串大小写转换
8.12 nl2br():将字符串的换行转成br
8.13 htmlspecialchars();将html字体转成实体
8.14 urlencode()、urldecode();url编码和解码
9.多字节字符串处理函数
PHP默认本身不支持多字节处理,要开启mb_拓展(multibytes)
以mb_开头的函数都是多字节处理函数。
9.1mb_strlen();获取字符串的长度
9.2mb_internal_encoding();设置/获取内部字符编码
9.3mb_strpos();查找字符串在另一个字符串中的位置。
9.4mb_substr():获取子字符串
9.5字符串编码
iconv(输入的字符编码,输出编码,字符串)
暂无评论内容