第一阶段暂告一段落,下一阶段 数据库
1.操作数组的函数
1.1range(起始值,结束值): 生成一个指定范围的数组
![图片[1]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-76.png)
1.2array_merge():数组合并
![图片[2]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-77.png)
数组合并时候下标冲突,按如下规则解决:
1.如果是字符串下标,后面的元素将前面的元素覆盖
2.如果在整数下标,重新建立下标数组。
![图片[3]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-78.png)
1.3array_rand(数组,随机取出元素的个数)
随机取出数组内元素,返回随机数组的下标
如果随机取出1个,则返回整型下标
如果随机取出多个,返回整形下标数组。
![图片[4]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-79.png)
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;
?>
![图片[5]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-80.png)
1.5 is_array();判断变量是否是数组类型
![图片[6]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-81.png)
2.操作数组键值函数
2.1array_keys()和array_values()
1.array_keys($array):返回数组中的键名
2.array_values($array):返回数组中的所有值
![图片[7]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-82-1024x211.png)
2.2array_combine(键,值)创建数组,用键数组的值做键名,值数组的值做值
![图片[8]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-83.png)
注意:如果键数组和值数组的元素个数不一样,返回flase
2.3in_array(查找的值,数组)检查数组是否包含某个值,返回布尔值。
![图片[9]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-85-1024x520.png)
2.4array_key_exists(键,数组):检查键名或索引是否在数组之中
![图片[10]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-86.png)
2.5isset(变量名):用来检测变量名是否设置并且设置的值不为空
array_key_exists()和isset()区别:
![图片[11]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-87.png)
2.6array_search()
作用:数组中搜索给定的值,如果成功,则返回键名
![图片[12]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-140.png)
3.数组连接和字符串分割函数
3.1implode():别名join(),将数组的值连接成字符串
3.2explode():将字符串分割成数组
![图片[13]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-88.png)
4.数组运算函数
4.1array_merge(数组1,数组2):数组合并
4.2数组的差集:array_diff(数组1,数组2,….)(数组1-数组2-……)
![图片[14]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-89.png)
4.3数组相交:array_intersect(数组1,数组2,……)
![图片[15]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-90.png)
注意:数组的交集结果中数组下标使用的是第一个数组的下标。
5.使用回调函数的函数
回调函数:计算机自己调用的函数
5.1array_map(‘函数名’,’数组’)
1.调用PHP内的函数
![图片[16]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-113.png)
2.调用PHP自定义函数
![图片[17]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-114-1024x436.png)
array_map()支持一次处理多个数组,将所有数组中同位置的元素作为参数传递给回调函数。
![图片[18]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-115.png)
array_map()默认可以将多个数组的同位置的元素组成新数组。
![图片[19]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-116.png)
注意:array_map()只能处理值,不能处理键
5.2array_walk(数组,回调函数)
作用:对数组中的每个元素的键值进行对调处理。类似于foreach循环
1.如果回调函数是一个参数,则这个参数是值,
2.如果回调函数是两个参数,第一个是值,第二个是键
![图片[20]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-117.png)
6.栈和队列
- 栈和队列都属于数据结构
- 栈是先进后出
- 队列是先进先出
6.1实现栈效果的函数
1.array_push(数组,入栈[队列]的值);
2.array_pop():出栈,将最尾部的元素弹出
![图片[21]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-118.png)
注意:array_push()和array_pop()作用在于维护一个连续的存储空间。为新增加的元素重写索引。
6.2实现队列效果的函数
1.array_shift();出队列,将队列中的第一个元素移除
2.array_unshift():再数组的开头插入一个元素。
![图片[22]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-119.png)
7.数组排序函数
7.1 sort() :按值进行升序排列,不保持原来的键值关联
7.2rsort():按值进行降序排列,不保持原来的键值关联
7.3asort():按值进行升序排列,保持原来的键值关系
7.4arsort();按值进行降序排列,保持原来的键值关系
7.5ksort();按键进行升序排列
7.6krsort();按键降序排列
7.7natsort();自然排序
![图片[23]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-125.png)
7.8usort();用户自定义排序
在第一个参数小于,等于,大于第二个参数时,该比较函数必须相应的返回一个小于,等于,大于0的整数。
![图片[24]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-126.png)
8.字符串操作函数
字符串可以理解为字符的集合,所以可以通过[]来访问,不能操作中文。
8.1strlen()返回字符串长度。
返回字符串长度,以字节为单位。
在gbk下,一个汉字占两个字节,在utf8下,一个汉字3个字节
8.2trim(),ltrim()、rttim()
1.trim();去字符串两边的空格
2.ltrim():去掉左边空格
3.rtrim();去掉右边空格
8.3strpos()
strpos()查找字符串首次出现的位置
strrpos()查找字符串最后一次出现的位置
![图片[25]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-127.png)
8.4str_repeat():重复字符串
![图片[26]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-128.png)
8.5chr()、ord()
![图片[27]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-129.png)
8.6substr(字符串,开始位置,截取长度):截取字符串
![图片[28]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-130.png)
8.7strchr(),strrchr()
![图片[29]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-132.png)
截取文件的后缀。
8.8str_replace():替换字符串
![图片[30]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-133.png)
8.9str_split();将字符串分割成数组
![图片[31]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-134.png)
8.10 str_pad(待填充字符串,总位数,填充字符,填充位置);填充字符串
![图片[32]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-135.png)
可选参数有STR_PAD_LEFT,STR_PAD_BOTH,STR_PAD_RIGHT,如果没有指定,则默认为STR_PAD_RIGHT。
8.11字符串大小写转换
![图片[33]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-136.png)
8.12 nl2br():将字符串的换行转成br
![图片[34]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-137.png)
8.13 htmlspecialchars();将html字体转成实体
![图片[35]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-138.png)
8.14 urlencode()、urldecode();url编码和解码
![图片[36]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-139.png)
9.多字节字符串处理函数
PHP默认本身不支持多字节处理,要开启mb_拓展(multibytes)
![图片[37]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-141.png)
以mb_开头的函数都是多字节处理函数。
9.1mb_strlen();获取字符串的长度
![图片[38]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-142.png)
9.2mb_internal_encoding();设置/获取内部字符编码
![图片[39]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-143.png)
9.3mb_strpos();查找字符串在另一个字符串中的位置。
![图片[40]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-144.png)
9.4mb_substr():获取子字符串
![图片[41]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-145.png)
9.5字符串编码
iconv(输入的字符编码,输出编码,字符串)
![图片[42]-PHP自学笔记DAY8-魔法少女雪殇](http://z.mofalongmao.xyz/wordpress/wp-content/uploads/2020/05/图片-146.png)
暂无评论内容