PHP自学笔记DAY8

第一阶段暂告一段落,下一阶段 数据库

1.操作数组的函数

1.1range(起始值,结束值): 生成一个指定范围的数组

图片[1]-PHP自学笔记DAY8-魔法少女雪殇

1.2array_merge():数组合并

图片[2]-PHP自学笔记DAY8-魔法少女雪殇

数组合并时候下标冲突,按如下规则解决:

1.如果是字符串下标,后面的元素将前面的元素覆盖

2.如果在整数下标,重新建立下标数组。

图片[3]-PHP自学笔记DAY8-魔法少女雪殇

1.3array_rand(数组,随机取出元素的个数)

随机取出数组内元素,返回随机数组的下标

如果随机取出1个,则返回整型下标

如果随机取出多个,返回整形下标数组。

图片[4]-PHP自学笔记DAY8-魔法少女雪殇

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-魔法少女雪殇

1.5 is_array();判断变量是否是数组类型

图片[6]-PHP自学笔记DAY8-魔法少女雪殇

2.操作数组键值函数

2.1array_keys()和array_values()

1.array_keys($array):返回数组中的键名

2.array_values($array):返回数组中的所有值

图片[7]-PHP自学笔记DAY8-魔法少女雪殇

2.2array_combine(键,值)创建数组,用键数组的值做键名,值数组的值做值

图片[8]-PHP自学笔记DAY8-魔法少女雪殇

注意:如果键数组和值数组的元素个数不一样,返回flase

2.3in_array(查找的值,数组)检查数组是否包含某个值,返回布尔值。

图片[9]-PHP自学笔记DAY8-魔法少女雪殇

2.4array_key_exists(键,数组):检查键名或索引是否在数组之中

图片[10]-PHP自学笔记DAY8-魔法少女雪殇

2.5isset(变量名):用来检测变量名是否设置并且设置的值不为空

array_key_exists()和isset()区别:

图片[11]-PHP自学笔记DAY8-魔法少女雪殇

2.6array_search()

作用:数组中搜索给定的值,如果成功,则返回键名

图片[12]-PHP自学笔记DAY8-魔法少女雪殇

3.数组连接和字符串分割函数

3.1implode():别名join(),将数组的值连接成字符串

3.2explode():将字符串分割成数组

图片[13]-PHP自学笔记DAY8-魔法少女雪殇

4.数组运算函数

4.1array_merge(数组1,数组2):数组合并

4.2数组的差集:array_diff(数组1,数组2,….)(数组1-数组2-……)

图片[14]-PHP自学笔记DAY8-魔法少女雪殇

4.3数组相交:array_intersect(数组1,数组2,……)

图片[15]-PHP自学笔记DAY8-魔法少女雪殇

注意:数组的交集结果中数组下标使用的是第一个数组的下标。

5.使用回调函数的函数

回调函数:计算机自己调用的函数

5.1array_map(‘函数名’,’数组’)

1.调用PHP内的函数

图片[16]-PHP自学笔记DAY8-魔法少女雪殇

2.调用PHP自定义函数

图片[17]-PHP自学笔记DAY8-魔法少女雪殇

array_map()支持一次处理多个数组,将所有数组中同位置的元素作为参数传递给回调函数。

图片[18]-PHP自学笔记DAY8-魔法少女雪殇

array_map()默认可以将多个数组的同位置的元素组成新数组。

图片[19]-PHP自学笔记DAY8-魔法少女雪殇

注意:array_map()只能处理值,不能处理键

5.2array_walk(数组,回调函数)

作用:对数组中的每个元素的键值进行对调处理。类似于foreach循环

1.如果回调函数是一个参数,则这个参数是值,

2.如果回调函数是两个参数,第一个是值,第二个是键

图片[20]-PHP自学笔记DAY8-魔法少女雪殇

6.栈和队列

  1. 栈和队列都属于数据结构
  2. 栈是先进后出
  3. 队列是先进先出

6.1实现栈效果的函数

1.array_push(数组,入栈[队列]的值);

2.array_pop():出栈,将最尾部的元素弹出

图片[21]-PHP自学笔记DAY8-魔法少女雪殇
后进先出

注意:array_push()和array_pop()作用在于维护一个连续的存储空间。为新增加的元素重写索引。

6.2实现队列效果的函数

1.array_shift();出队列,将队列中的第一个元素移除

2.array_unshift():再数组的开头插入一个元素。

图片[22]-PHP自学笔记DAY8-魔法少女雪殇

7.数组排序函数

7.1 sort() :按值进行升序排列,不保持原来的键值关联

7.2rsort():按值进行降序排列,不保持原来的键值关联

7.3asort():按值进行升序排列,保持原来的键值关系

7.4arsort();按值进行降序排列,保持原来的键值关系

7.5ksort();按键进行升序排列

7.6krsort();按键降序排列

7.7natsort();自然排序

图片[23]-PHP自学笔记DAY8-魔法少女雪殇

7.8usort();用户自定义排序

在第一个参数小于,等于,大于第二个参数时,该比较函数必须相应的返回一个小于,等于,大于0的整数。

图片[24]-PHP自学笔记DAY8-魔法少女雪殇

8.字符串操作函数

字符串可以理解为字符的集合,所以可以通过[]来访问,不能操作中文。

8.1strlen()返回字符串长度。

返回字符串长度,以字节为单位。

在gbk下,一个汉字占两个字节,在utf8下,一个汉字3个字节

8.2trim(),ltrim()、rttim()

1.trim();去字符串两边的空格

2.ltrim():去掉左边空格

3.rtrim();去掉右边空格

8.3strpos()

strpos()查找字符串首次出现的位置

strrpos()查找字符串最后一次出现的位置

图片[25]-PHP自学笔记DAY8-魔法少女雪殇

8.4str_repeat():重复字符串

图片[26]-PHP自学笔记DAY8-魔法少女雪殇

8.5chr()、ord()

图片[27]-PHP自学笔记DAY8-魔法少女雪殇

8.6substr(字符串,开始位置,截取长度):截取字符串

图片[28]-PHP自学笔记DAY8-魔法少女雪殇

8.7strchr(),strrchr()

图片[29]-PHP自学笔记DAY8-魔法少女雪殇

截取文件的后缀。

8.8str_replace():替换字符串

图片[30]-PHP自学笔记DAY8-魔法少女雪殇

8.9str_split();将字符串分割成数组

图片[31]-PHP自学笔记DAY8-魔法少女雪殇

8.10 str_pad(待填充字符串,总位数,填充字符,填充位置);填充字符串

图片[32]-PHP自学笔记DAY8-魔法少女雪殇

可选参数有STR_PAD_LEFT,STR_PAD_BOTH,STR_PAD_RIGHT,如果没有指定,则默认为STR_PAD_RIGHT。

8.11字符串大小写转换

图片[33]-PHP自学笔记DAY8-魔法少女雪殇

8.12 nl2br():将字符串的换行转成br

图片[34]-PHP自学笔记DAY8-魔法少女雪殇

8.13 htmlspecialchars();将html字体转成实体

图片[35]-PHP自学笔记DAY8-魔法少女雪殇

8.14 urlencode()、urldecode();url编码和解码

图片[36]-PHP自学笔记DAY8-魔法少女雪殇

9.多字节字符串处理函数

PHP默认本身不支持多字节处理,要开启mb_拓展(multibytes)

图片[37]-PHP自学笔记DAY8-魔法少女雪殇

以mb_开头的函数都是多字节处理函数。

9.1mb_strlen();获取字符串的长度

图片[38]-PHP自学笔记DAY8-魔法少女雪殇

9.2mb_internal_encoding();设置/获取内部字符编码

图片[39]-PHP自学笔记DAY8-魔法少女雪殇

9.3mb_strpos();查找字符串在另一个字符串中的位置。

图片[40]-PHP自学笔记DAY8-魔法少女雪殇

9.4mb_substr():获取子字符串

图片[41]-PHP自学笔记DAY8-魔法少女雪殇

9.5字符串编码

iconv(输入的字符编码,输出编码,字符串)

图片[42]-PHP自学笔记DAY8-魔法少女雪殇

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情