php 常用的数组函数

数组创建

array() //创建数组,返回一个数组

与数组指针相关的函数

key() //函数返回数组内部指针当前指向元素的键名。若发生错误,则函数返回 FALSE。

current() //返回数组内部指针当前指向元素的键值,如果当前元素为空或者当前元素没有值则返回 FALSE。

next() //函数将内部指针指向数组中的下一个元素,并输出值。如果没有更多的数组元素则返回 FALSE

prev() //函数将内部指针指向数组中的上一个元素,并输出值。如果没有更多的数组元素则返回 FALSE

reset() //函数将内部指针指向数组中的第一个元素,并输出值。如果数组为空则返回 FALSE。

end() //函数将内部指针指向数组中的最后一个元素,并输出值。 如果数组为空则返回 FALSE。

插入、删除数组元素的相关函数

array_unshift() //在数组开头插入一个或多个元素。返回新数组中元素的个数。

array_shift() //函数用于删除数组中的第一个元素,并返回被删除的元素。返回从数组中删除元素的值,如果数组为空则返回 NULL。

array_push() //函数向数组尾部插入一个或多个元素。返回新数组的元素个数。

array_pop() //函数弹出并删除数组中的最后一个元素。返回数组的最后一个值。如果数组是空的,或者不是一个数组,将返回 NULL。

与数组排序相关的函数

sort() //对数组进行升序排列,不保持索引关系。 若成功则返回 TRUE,若失败则返回 FALSE。
rsort() //对数组进行降序排列,不保持索引关系。 若成功则返回 TRUE,若失败则返回 FALSE。

asort() //根据关联数组的值,对数组进行升序排列,保持索引关系。若成功则返回 TRUE,若失败则返回 FALSE。
arsort() //根据关联数组的值,对数组进行降序排列,保持索引关系。若成功则返回 TRUE,若失败则返回 FALSE。

ksort() //根据关联数组的键,对数组进行升序排列,保持索引关系。若成功则返回 TRUE,若失败则返回 FALSE。
krsort() //根据关联数组的键,对数组进行降序排列,保持索引关系。若成功则返回 TRUE,若失败则返回 FALSE。

数组打散为字符串

implode() 

join()

//将数组打散为字符串。返回一个由数组元素组合成的字符串。

判断数组中是否存在某个健名、键值

in_array() //函数搜索数组中是否存在指定的键值, 如果在数组中找到值则返回 TRUE,否则返回 FALSE。

array_key_exists() //函数检查数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。

数组统计

count() // 函数返回数组中元素的数目。

array_sum() //函数返回数组中所有键值的和。

array_product() //函数返回数组中所有键值的积。

array_count_values() 
//函数用于统计数组中所有值出现的次数。
//返回一个关联数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。

max() //返回数组中的最大键值。

min() //返回数组中的最小键值。

搜索数组中某个键值的健名

array_search() 
//函数在数组中搜索某个键值,并返回对应的键名。如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。
//如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。

数组中某段元素的取出、删除

array_slice() // 函数根据给定的开始索引,取出长度,取出一段数组。返回取出的数组,不会对原数组进行修改。
array_splice() 
//1.函数根据给定的开始索引,删除长度,删除一段数组,返回被删除的数组,会对原数组进行修改。
//2.函数根据给定的开始索引,删除长度,删除一段数组并用其它值代替,返回被删除的数组,会对原数组进行修改。
//3.如果函数没有移除任何元素(length=0),则替代数组将从 start 参数的位置插入,原本start位置的元素以及start位置之后的所有元素将被挤到新插入的元素的后面去。

数组的差集、交集

array_diff() 
//函数用于比较两个(或更多个)数组的值,并返回差集数组。
//该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的值。

array_diff_assoc() 
//函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集数组。
//该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名和键值。

array_intersect() 
//函数用于比较两个(或更多个)数组的键值,并返回交集数组。
//该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键值。

array_intersect_assoc() 
//函数用于比较两个(或更多个)数组的键名和键值,并返回交集数组。
//该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。

以数组中的键名或键值成立新数组

array_keys() //函数返回包含数组中所有键名的一个新数组。

array_values() //函数返回一个包含给定数组中所有键值的数组,不保留键名,新的键名是一个从 0 开始递增的数值索引。

数组合并

array_merge() 
//函数用于把一个或多个数组合并为一个数组。
//如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。
//如果您仅仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。


array_merge_recursive() 
//函数用于把一个或多个数组合并为一个数组。
//array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的键值递归组成一个数组(多维数组)。
//如果您仅仅向 array_merge_recursive() 函数输入一个数组,函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。

数组与回调函数

array_walk() //函数对数组中的每个元素的键名和键值运用用户自定义的函数。在函数中,数组的键名和键值是参数。如果成功则返回 TRUE,否则返回 FALSE。

array_map() 
//函数将用户自定义函数作用到数组中的每个键值上,并返回用户自定义函数作用后的带有新值的数组。
//回调函数作用于一个数组时,将保留原有数组的键名,也就是返回的数组的键名就是作用到给定数组的键名。
//回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
//回调函数作用于两个或多个数组时,数组的长度要一致,并且将忽略所有数组的键名,统一分配数字索引作为键名。

array_filter() 
//函数用回调函数对数组中的每个键值进行过滤,返回过滤后的数组。
//该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值对返回给结果数组。数组键名保持不变。

array_reduce() //函数发送数组中的值到用户自定义函数,并返回一个字符串。

数组与变量相互转换

extract() //该函数使用数组键名作为变量名,使用数组键值作为变量值,一一创建变量。

compact() //函数依据一个或多个变量的变量名为键名,变量值为对应的键值从而创建一个数组。返回带有所有变量名和它们的值的数组。

数组填充

array_pad() //用指定的值将数组填补到指定长度。

array_fill() //函数用给定的开始索引、填充长度和值 以填充的方式生成一个新数组。

其他一些数组函数

array_reverse() 

/*

函数将原数组中的元素顺序翻转,创建新的数组并返回。
如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。

*/


array_flip() 

/*

函数对数组中的每个键值对的键值与健名互相进行交换。

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

如果原数组中的值的数据类型不是字符串或整数,函数将报错。

如果反转成功,则返回反转后的数组。如果失败,则返回 NULL。

*/

is_array() //函数用于检测变量是否是一个数组,如果检测的变量是数组,则返回 TRUE,否则返回 FALSE。

range() //函数创建一个包含指定范围的元素的数组。索引是从 0 开始的数字索引,返回数组。

list() //把数组中的键值按顺序赋给一组变量,该函数只用于数字索引的数组,且假定数字索引从 0 开始。

array_rand() //函数返回数组中的随机键名,如果您规定函数返回不只一个键名,则返回包含随机键名的数组。

array_unique() //函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。返回一个删除重复值后的数组。

shuffle() 
//函数把数组中的元素按随机顺序重新排列。
//该函数为数组中的元素分配新的键名(从0开始的数字索引)。已有键名将被删除

array_chunk() //函数把数组中的元素根据给定的数组长度互相合并为一个或多个多维数组。返回一个多维的索引数组,索引从 0 开始,每个维度都包含给定个数的元素。

array_column() 
/*
该函数返回输入的多维数组中所有子数组中的某个索引的值组成的数组。
输入的必须是多维数组(关联数组和索引数组都可以),不然返回数组为空数组。
子数组中的索引可以是字符串索引也可以是数字索引。
第二个参数也可以是 NULL,此时将返回子数组中所有元素(配合 index_key 参数来重置数组键的时候,非常有用)。
第三个参数可以规定该子数组某个索引(键名)的键值成为返回数组中的键值对的键名。

返回数组的键值为输入的多维数组中子数组中的某个键名的键值,返回数组的键名按以下规则
1.如果有第三个参数,则按第三个参数规定的值。
2.如果第三个参数为空,返回数组的键名则是以 0 开始 的数字索引。
*/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值