数组初步

概念

数组是一种数据的集合

数组主要是用于存储具有行列特征(表格)的数据

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

php的数据的分类

1索引数组

数组的下标是整数,这样的数组就是索引组

2.关联数组

数组的下标是字符串,这样的数组是关联数组

php数组的创建

1.索引数组的创建

示例:

php笔记之数组 随笔 第1张

 说明:

在php中数组的下标可以不连续

2.关联数组的创建

语法:

$arr = array(键名=>键值, 键名=>键值,….);
$arr = [键名=>键值, 键名=>键值,….];

说明:

php中的数组元素由两部分组成,键名(下标),键值

示例:

php笔记之数组 随笔 第2张

 4.多维数组

php中支持多维数组,如果一个数组的元素又是一个数组,那么这就是多维数组

php笔记之数组 随笔 第3张

 5.数组元素的访问

一维数组元素的访问

语法:

$数组名[下标/键名]

示例:

php笔记之数组 随笔 第4张

 二位数组元素的访问

语法:

$数组名[行下标][列下标]

示例:

php笔记之数组 随笔 第5张

 6.数组的长度

count()

current($arr)        用于当前指针所指向的元素的键值
key($arr)            用于当前指针所指向的元素的键名
next($arr)            用于将数组的指针下移。
prev($arr)            用于将数组的指针上移。
reset($arr);            用于将数组的指针重置(归位,数组的指针默认位于第1个元素)。
end($arr);            用于将数组的指针移到最后一个元素。

用于获取数组的长度

php笔记之数组 随笔 第6张

 数组的指针

数组的指针用于表示单签所关注的元素

current($arr)        用于当前指针所指向的元素的键值
key($arr)            用于当前指针所指向的元素的键名
next($arr)            用于将数组的指针下移。
prev($arr)            用于将数组的指针上移。
reset($arr);            用于将数组的指针重置(归位,数组的指针默认位于第1个元素)。
end($arr);            用于将数组的指针移到最后一个元素。

示例:

php笔记之数组 随笔 第7张

数组的遍历

for

for循环是使用循环控制变量来模拟下标的方式来遍历数据,只能遍历下连续或有规则

 php笔记之数组 随笔 第8张

 foreach

语法:

foreach($arr  as$key=>】$value){
        //循环体
}

说明:

$arr是所要遍历的数组。$key 、$value就是一个变量,变量名可以自定义

示例:

php笔记之数组 随笔 第9张

 原理:

首先对数组的指针进行重置

读取当前指针所指向的数组元素,并将元素的键名赋值变量$key,将键值赋值给变量$value,同时会将数组的指针下移一行(下移指针是为了下一次循环)

foreach不需要我们控制循环的次数,他会自动判断什么时候结束循环

while-each-list遍历

使用while循环,及each()函数,list语法结构联合来遍历数组

each

each(数组)

说明:

用于获取当前指针所指向的元素键名和键值,并以索引元素和关系元素两种形式表示,同时将指针下移一行

示例:

 php笔记之数组 随笔 第10张

 list

语法:

list(变量列表)=$arr

 说明:

将数组$arr中的索引元素赋值给变量列表中的变量

示例:

php笔记之数组 随笔 第11张

 while-each-list遍历数组

 php笔记之数组 随笔 第12张

 foreach与list连用

语法:

list(变量列表)=$arr

说明:

list语句的右侧必须是数组

 示例:

php笔记之数组 随笔 第13张

 数组操作常用的函数

数组的长度

count(数组名)

 array_keys()

获取数组元素所有的键名

array_values()

获取数组元素的所有的键值

示例:

php笔记之数组 随笔 第14张

 判断键名和键值是否存在

array_key_exists(key,arr)

用于判断某个键名是否存在数组中,如果存在则返回true,否则返回false

in_array(value,arr)

用于判断某个键值是否存在数组中,如果存在则返回true,否则返回false

示例:

php笔记之数组 随笔 第15张

数组的合并

 array_merge(数组1,数组2)

php笔记之数组 随笔 第16张

 数组的排序

sort()

对数组按键值进行升序排序

rsort()

对数组进行降序排序

示例:

php笔记之数组 随笔 第17张

 asort()

对数组进行升序排序,但原下标不会改变

arsort()

对数组键值进行降序排序,但原下标不会变

php笔记之数组 随笔 第18张

 extract

用于解压数组,将关联元素转换为以键名为变量名的变量

php笔记之数组 随笔 第19张

 数组的相关算法

排序算法

冒泡排序法

php笔记之数组 随笔 第20张

php笔记之数组 随笔 第21张

 插入排序法

php笔记之数组 随笔 第22张

 

 查找算法

顺序查找法:

php笔记之数组 随笔 第23张

二分查找算法

前提:

       数组一定是有序,且元素不能重复。

 php笔记之数组 随笔 第24张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄