数组概念,分类,创建,引用等内容讲解
树图思维导图提供 PHP数组思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 PHP数组思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:eb1b59000b714a9bd08382ab7341f2fa
PHP数组思维导图模板大纲
数组是PHP中的一种复合数据类型,是内存中一段连续存储空间保存的一组相关数据的有序集合
其中的每一个数据,称之为数组元素
按数组下标数据类型分类
索引数组
下标从0开始,每个数字对应一个数组元素在数组中的位置,如果在创建数组的时候没有特别指定,创建的就是索引数组
关联数组
下标由字符串组成,,在创建数组时,给每一个数组分配一个字符串的下标
按数组下标的个数分类
一维数组
只有一个下标的数组
例$arr[]
中括号是该数组的下标,一般来说数组中每个元素都是一个具体的数
二维数组
两个下标的数组
例$arr[][]
每个中括号是该数组的一个下标,二维数组可以看成一维数组中每个元素又是一个一维数组
多维数组
三个或三个以上下标的数组
例$arr[][][]
每个中括号是该数组的一个下标,三维数组可以看成一维数组中每个元素又是一个二维数组
按数组元素值的类型分类
字符串数组
字符串数组是指数组中各元素值的数据类型是字符串的一类数组,实际上只要数组元素 的值不是全为数值型的数组都可以认为是字符串数组,并且一个字符串本身可以看成是由各个字符组成的一个字待串数组
数值型数组
数值型数组是指数组中各元素值的数据类型全部是效值型的一类效组。
一维数组的创建
直接赋值方式创建一维数组
$数组变量名[下标]=值
使用array函数创建一维数组
$数组变量名array(key=>value1,key2>=2,key3=value>3........,keyn=>valuen)
二维数组,多维数组的创建
二维数组
二维数组和一维数组的创建一样,也有直接为数组元素赋值和使用 array()函数创建两种方法,先把它当成一个一维数组去逐个对其数组元素进行赋值,只是这个一维数组中的一个或多个元素又是一个数组,需要再按一维数组创建的方法去进行创建。
多维数组
通过给个元素赋值来创建数组和利用array数组来创建数组
实际上就是访问数组的某个元素并获取到它的值
一维数组
以一维数组为例来说,它是通过“$数组变量名[下标]”的方式来引用或获取数组中某个元素值的,应注意的是,此格式与前面定义、声明数组时的格式形式上是一样的,但它们使用场合及表达意义不同。
在定义、声明数组时,“$数组变量名[下标]”一般是用在使用 array()函数创建一个数组的语向中赋值号的左边,其中的“下标”是指数组中元素的个数,而在引用数组中某个元素时,一般是使用直接赋值法创建丽数的各 语句赋值号左边,或是创建数组之后对某个元素的重新赋值、数组元素参与表达式的运算甚至直接对数组元素进行输出时,其中的 “下标”是指数组中元素在数组中的顺序号或关键宇值宇符串
print_r()
如果要输出的内容是 string、integer或 foat 等标量型数据变量,会直接输出 其值;如果要输出的内容是array 类型,输出时将会显示其数组名及其中各个元素的下标和对应的元素值
print_r()默认不使用第二个参数项,此时相当于使用false 作为第二个参数项
var_dump
如果要输出的内容是 string、integer或 foat 等标量型数据变量,会直接输出其值和类型;如果要输出的内容是array 类型,输出时将会显示其数组名及其中各个元素的下标和对应的元素值
for
for循环一般用于对数字素引数组的遍历,它在使用时须引人一个循环计数变量,如: $i,来从。开始依次取值,并使用count()两数计算出数组元素个数来构造一个 for 循环的进人条件: $i<count( $数组变量名),每一次循环体中对“ $数组变量名$[i]”执行一系列 操作后应指定 $i++作为循环变量的修改语向。
while
在while 循环后使用“list(变量列表)=each(数组名)”作为条件,其中list()西数给出了一些变量的列表,具体来说就是两个变量用逗号分隔开,each()函数则 返回数组中当前指针位置 的键名和对应的值,并向前移动数组指针,整个“while (list(变量列表)=each(数组名))”表示对于数组名所指的数组中的每一个数组元素,用变量列表中第一个变量来代表其下标,用变量列表中第二个变量来代表其元素值,在循环体中逐个对它们进行所需的一些操作。
foreach
使用foreach语句遍历数组时与数组下标形式无关,不管是连续的索引数组,还是以字符串为下标的关联数组,都可以使用foreach
range(low,high,step)
指定步长step创建一个包含从low到high之间的数组
array_combine(keys,values)
合并两个数来创建一个新数组,其中前一个数组中各元素是新数组中各个下标,后一数组中各元素的值为新数组中各元素的值
array_fill(int $start_index,int$num,mixed$value)
以填充的方式创建一个数组,该数组下标取值从strat_index开始,连续填充$num个数组元素,其值为$value
array_pad(array $arr,int$size,mixed$value)
使用$value指定的值将数组$arr填补到$size指定的长度
explode
current($arr)
取得数组$arr当前指针位置的数据
key($arr)
读取数组$arr中当前指针所指向数据的索引值(键值)
next($arr)
将数组$arr中当前指针移动到下一个数据
prew($arr)
将数组$arr中当前指针移动到上一个数据
end($arr)
将数组$arr中当前指针移动到最后一个元素
reset($arr)
将数组$arr中当前指针无条件移至第一个数据位置
count(array,mode)
返回数组中元素的个数,mode默认为0,表示不对多维数组进行递归计数,为1或COUNT_RECURSIVE时则会递归计数
sizeof(array,mode)
是count()函数的别名
array_sum(array,mode)
返回数组中所有值的和
array_count_values(array,mode)
对数组中的所有值进行计数并返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数
sort($array,sortingtype)
对索引数组$array进行升序排序
rsort($array,sortingtype)
对索引数组$array进行降序排序
natsort($array)
用自然顺序算法对给定数组中的元素进行排序
array_count_values(array)
对数组中所有值进行计数并返回一个数组,其元素的键名是原数组的值,键值是在该值原数组中出现的次数
array_keys(array,value,strict)
返回包含数组中所有键名的一个新数组
array_values(array)
返回数组中所有元素值(作为新数组),但不包括键名
in_array(search,array,type)
在数组array中搜索是否存在指定的值search
array_search(value,array,strict)
在数组array中搜索某个键值value,并返回对应的键名
array_key_exists(key,array)
检查array数组中是否存在指定的键名key,则返回true,如果键名不存在则返回false
array_uniqe(array)
删除数组中的重复值
树图思维导图提供 SpringBootWeb请求响应 在线思维导图免费制作,点击“编辑”按钮,可对 SpringBootWeb请求响应 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:1c6ee1ff958a0c7c2fabdf9e9f8d755e
树图思维导图提供 1107文家市玉萍思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 1107文家市玉萍思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:ed943ef641f6dc874860eb6095857ed6