一.数组的基本概念
数组定义:PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。
数组类型:
索引数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值
多维数组 - 包含一个或多个数组的数组
二.数组的常用函数
1.统计数组下标函数
count()函数,sizeof()函数
语法:count(array,mode),sizeof(array,mode);array表示数组,必须的;mode表示是否需要递归的计算数组中元素个数,不是必需的,默认是0。
2.each()函数
each(array),返回当前元素的键名和键值,并将内部指针向前移动。
返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。
如果内部指针越过了数组范围,本函数将返回 FALSE。
3.list() 函数
list(var1,var2...),函数用于在一次操作中给一组变量赋值。该函数只用于数字索引的数组,且假定数字索引从 0 开始。
4数组元素的排序
正向排序:sort()以升序对数组排序;asort()根据值,以升序对关联数组进行排序; ksort()根据键,以升序对关联数组进行排序。
反向排序:rsort()以降序对数组排序;arsort()根据值,以降序对关联数组进行排序; krsort()根据键,以降序对关联数组进行排序。
5.array_count_values()函数
array_count_values(array),函数用于统计数组中元素出现的次数。
6.current()函数
current(array)函数返回数组中的当前元素的值,每个数组都有一个内部指针指向他的当前单元,初始指向插入到数组中的第一个元素。
7.array_pad()函数
array_pad(array,size,value) 函数将指定数量的带有指定值的元素插入到数组中。如果您将 size 参数设置为负数,该函数会在原始数组之前插入新的元素。如果 size 参数小于原始数组的长度,该函数不会删除任何元素。
8.unset()函数
unset ( mixed $var,[ mixed $... ] )用于销毁指定的变量,$var: 要销毁的变量。
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。
9.array_fill()函数
array_fill(index,number,value)函数用给定的键值填充数组。
index:必需,规定返回数组的起始索引。
number:必需,规定填充的元素的数量,其值必须大于 0。
value:必需,规定用于填充数组的键值。
10.array_combine()函数
array_combine(keys,values) ,函数通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。键名数组和键值数组的元素个数必须相同。
keys:必需,规定数组的键名。
values:必需,规定数组的键值。
11.array_splice()函数
array_splice(array,start,length,array)函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。如果函数没有移除任何元素(length=0),则将从 start 参数的位置插入被替换数组。不保留被替换数组中的键名。
array:必需,规定数组。
start:必需,数值,规定删除元素的开始位置。
length:可选,数值,规定被移除的元素个数,也是被返回数组的长度。
array:可选,规定带有要插入原始数组中元素的数组。
12.array_unique函数
array_unique(array $array
[, int $sort_flags
= SORT_STRING ]) 移除数组中重复的值,接受 array
作为输入并返回没有重复值的新数组。注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array
中同一个值的第一个出现的键名会被保留。
sort_flags:可用于修改排序行为。
排序类型标记:
SORT_REGULAR
SORT_NUMERIC
SORT_STRING
SORT_LOCALE_STRING
13.array_flip()函数
array_flip(array)函数用于反转/交换数组中的键名和对应关联的键值。
14array_search()函数
array_search(value,array,strict)函数在数组中搜索某个键值,并返回对应的键名。
value:必需,规定需要搜素的键值。
array:必需,规定被搜索的数组。
strict:可选,如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
true或false - 默认。如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的。