您的当前位置:首页正文

PHP Array方法归纳总结

2024-11-28 来源:个人技术集锦

目前Array API数目

79个

新建(10)

 array            #新建一个数组
 compact       #建立一个数组,包括变量名和它们的值
 array_rand   #返回给定数组中的随机键名
 array_fill        #用给定的值填充数组
 array_fill_keys #用给定的指定键名的键值填充数组
 array_pad     #指定数量的带有指定值的元素插入到数组中
 range            #创建一个包含指定范围的元素的数组
 array_combine   #通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值
 array_column     #返回数组中指定的一列
 array_chunk       #把数组分割为新的数组块,其中每个数组的单元数目由 size 参数决定

赋值(2)

 list             #把数组中的值赋给一些变量
 extract       #使用数组键名作为变量名,使用数组键值作为变量值

键或值(9)

 array_change_key_case   #将数组的所有的键转换为大写字母
 array_keys          #返回包含数组中所有键名的一个新数组
 array_key_exists  #检查某个数组中是否存在指定的键名,如果键名存在则返回 true
 key_exists            #array_key_exists函数的别名
 array_replace      #根据Key, 使用后面数组的值替换第一个数组的值
 array_replace_recursive   #递归地使用后面数组的值替换第一个数组的值

 array_values       #返回一个包含给定数组中所有键值的数组,但不保留键名
 array_unique      #移除数组中的重复的值,并返回结果数组,返回的数组中键名不变

 array_flip            #返回一个键值反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失

搜索(2)

 in_array             #搜索数组中是否存在指定的值
 array_search     #在数组中搜索某个键值,并返回对应的键名 

进出(6)

array_shift      #删除数组中第一个元素,并返回被删除元素的值(key为数字,删;非数字,保留)
array_unshift  #向数组插入新元素。新数组的值将被插入到数组的开头(key为数字,删;非数字,保留)
array_pop      #删除数组中的最后一个元素
array_push    #向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度

#返回新数组
array_slice     #数组中根据条件取出一段值,并返回(key为数字,删;非数字,保留)
array_splice   #从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组(删)

排序(14)

 shuffle            #把数组中的元素按随机顺序重新排列(删除Key) 
 array_reverse #返回一个单元顺序相反的数组(可保留,可删除,由第二参数决定)
 array_multisort  #对多个数组或多维数组进行排序(key为数字,删;非数字,保留)

 sort                #按升序对给定数组的值排序(删除Key) 
 rsort               #按降序对给定数组的值排序(删除Key)

 asort             #对关联数组按照键值进行升序排序(保留Key)
 arsort             #对关联数组按照键值进行降序排序(保留Key)
 ksort              #对关联数组按照键名进行升序排序(保留Key)
 krsort             #对关联数组按照键名进行降序排序(保留Key)
 natsort           #用"自然排序"算法对数组进行排序(保留Key)
 natcasesort    #用“自然排序”算法对数组进行不区分大小写字母的排序(保留Key)

 usort              #使用用户自定义的比较函数对数组中的元素进行排序(删除Key)
 uksort            #使用用户自定义的比较函数对数组 中的元素按键名进行排序(保留Key)
 uasort            #使用用户自定义的比较函数对数组中的值进行排序并保持索引关联(保留Key)

交集和差集, 合并(18)

array_diff        #返回所有在被比较的数组中,但是不在任何其他参数数组中的键值。(保留key)
array_udiff   #比较两个数组的键值(使用用户自定义函数比较键值),并返回差集
array_diff_key         #比较键值,返差集;(保留key)
array_diff_ukey       #用户定义的比较函数比较键值,返差集;(保留key)
array_diff_assoc #返回所有在被比较的数组中,但是不在任何其他参数数组中的键和值(保留key)
array_udiff_assoc  #同diff_assoc比,多了自定义回调函数(参数为键值)
array_diff_uassoc #相比diff_assoc,使用的是用户自定义的比较函数(参数为键名)
array_udiff_uassoc #相比diff_uassoc,多了两个回调函数,分别用于键名和键值的比较

array_intersect           #比较两个(或更多个)数组的键值,并返回交集数组(保留被比较数组的key)
array_uintersect    # 用自定义回调函数(参数为键值)比较交集
array_intersect_key    #比较键名计算数组的交集(保留被比较数组的key)
array_intersect_ukey  #用回调函数比较键名来计算数组的交集(保留被比较数组的key)
array_intersect_assoc #比较两个数组的键名和键值,并返回交集
array_uintersect_assoc #同intersect_assoc比,多了自定义回调函数(参数为键值)
array_intersect_uassoc #用回调函数比较两个数组的键名和键值,并返回交集
array_uintersect_uassoc #相比intersect_uassoc,多了两个回调函数,分别用于键名和键值的比较

 array_merge                               #把一个或多个数组合并为一个数组(key为数字,重新排序;非数字,替换)
 array_merge_recursive              #array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组

数学运算(6)

 count            #返回数组中元素的数目
 sizeof            #同count 
 array_sum    #返回数组中所有值的和
 array_count_values   #统计数组中所有的值出现的次数,数组中的值作为键名,出现的次数作为值
 array_product   #计算数组中所有值的乘积
 array_map       #将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新值的数组

内部指针(8)

 currrent           #返回数组中的当前单元
 pos                 #返回数组中的当前单元,同current函数
 end                # 将数组的内部指针指向最后一个单元,并返回指向的单元
 next                #将数组中的内部指针向前移动一位,并返回指向的单元
 prev                #将数组的内部指针倒回一位,并返回指向的单元
 reset               #将数组的内部指针指向第一个单元,并返回指向的单元(即第一个单元)
 each               #返回数组中当前的键/值对并将数组指针向前移动一步
 key                 #返回数组中内部指针指向的当前单元的键名。 但它不会移动指针

用户自定义函数(4)

 array_walk         #对数组中的每个元素应用用户自定义函数
 array_walk_recursive   #该函数与  array_walk()函数的不同在于可以操作更深的数组(一个数组中包含另一个数组)
 array_reduce         #向用户自定义函数发送数组中的值,并返回一个字符串
 array_filter           #用回调函数过滤数组中的单元(数组的键名保留不变)
显示全文