数组操作基本函数介绍:值、键名获取及相关检索方法

php数组操作方法

数组操作基本函数介绍:值、键名获取及相关检索方法

数组可以在一个单独的变量名里存储一个或者多个值。下面小编为大家整理了php数组的操作方法。一起来学习吧!

一、数组操作的基本函数

数组的键名和值

array_values($arr);获得数组的值

array_keys($arr);获得数组的键名

将数组中的值与键名进行互换,若存在重复情况,前面的会被后面的覆盖

在数组里检索,检索的内容是apple

在数组中检索apple ,若存在则返回键名

检查给定的键名“apple”在数组中是否存在

isset($arr[apple]):检查给定的键名在数组中是否存在 。

数组的内部指针

current($arr);返回数组中的当前单元

pos($arr);返回数组中的当前单元

key($arr);返回数组中当前单元的键名

prev($arr);将数组中的内部指针倒回一位

next($arr);将数组中的内部指针向前移动一位

end($arr);将数组中的内部指针指向最后一个单元

reset($arr;将数组中的内部指针指向第一个单元

将返回数组当前元素的一个键名/值的构造数组,会使数组指针向前移动一位

获得数组当前元素的键名,获得数组当前元素的值,将其分别赋值给变量$key和$value 。

数组和变量之间的转换

extract($arr) 用于将数组中的元素转换成变量,导入到当前文件中,其键名会被当作变量名,值会作为变量值。

注:第二个参数十分重要,能够参照手册来使用,使用方法为 echo $a;

使用给定的变量名,创建一个数组,执行compact(var1,var2,var3)

二、数组的分段和填充

数组的分段

array_slice($arr,0,3),能够取出数组中的一段,这个函数会忽略键名。

array_splice($arr,0,3,array("black","maroon"))这个操作,能够取出数组中的一段,它与上个函数不一样的地方在于,返回的序列会从原数组中被删除。

分割多个数组

array_chunk($arr,3,TRUE) 能够把一个数组划分成多个,TRUE 的作用是保留原数组的键名

数组的填充

将一个数组进行填补,使其达到指定的长度,使用的是array_pad函数,参数为数组、5、'x' 。

三、数组与栈

该操作返回入栈元素的个数 。

把数组栈的最后一个元素弹出,也就是进行出栈操作,使用的是array_pop($arr);

四、数组与列队

数组中的第一个元素被移出,该元素作为结果返回,数组长度减1,其他元素向前移动一位,数字键名改为从零计数,文字键名不变。

在数组的开头插入一个或多个元素,使用的操作是array_unshift($arr,"a",array(1,2))

五、回调函数

使用用户函数对数组中的每个成员进行处理,将第三个参数传递给回调函数function,具体操作为调用array_walk函数,该函数的参数依次为数组、函数名、传递给回调函数的参数 。

array_mpa("function",$arr1,$arr2)能够进行处理,处理的对象是多个数组,当使用两个或更多数组时,这些数组的长度应当相同。

使用回调函数过滤数组中的每个元素,若回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,且数组的键名保留不变

将array_reduce($arr,"function","*")进行转化,转化为单值函数,其中*是数组的第一个值。

六、数组的排序

通过元素值对数组排序

对数组$arr进行排序,按照由小到大的顺序,忽略键名,第二个参数决定按什么方式排序。

对数组进行排序,使其按照由大到小的顺序排列,此为忽略键名的数组排序,第二个参数用于指定按什么方式排序。

使用用户自定义的比较函数对数组中的值进行排序,此函数中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个,这是忽略键名的数组排序

对数组进行排序,按照由小到大的顺序,保留键名,第二个参数决定按什么方式排序。

将数组$arr按照由大到小的顺序进行排序,第二个参数用于指定按什么方式排序,这是一种保留键名的数组排序

使用用户自定义的比较函数对数组中的值进行排序,该比较函数中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个,这是保留键名的数组排序

通过键名对数组排序

ksort($arr);按照键名正序排序

krsort($arr);按照键名逆序排序

使用用户自定义的比较函数对数组中的键名进行排序,该比较函数中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个

自然排序法排序

natsort($arr);自然排序(忽略键名)

对数组$arr进行自然排序,该排序忽略大小写,忽略键名。

七、数组的计算

数组元素的求和

对数组内部的所有元素,进行求和运算

数组的合并

合并两个或多个数组,对于相同的字符串键名,后面的会覆盖前面的,对于相同的数字键名,后面的不会做覆盖操作,而是附加到后面

“+”$arr1+$arr2;对于相同的键名只保留后一个

进行递归合并操作,即array_merge_recursive($arr1,$arr2),若数组中有相同的字符串键名,这些值会被合并到一个数组中,若一个值本身是数组,会按相应键名合并为另一个数组,当数组有相同数组键名时,后一个值不会覆盖原来的值,而是附加到后面

数组的差集

array_diff函数,将$arr1与$arr2作为参数传入,返回差集结果数组。

array_diff_assoc($arr1,$arr2,$arr3)返回差集结果数组,此数组的键名也会进行比较。

数组的交集

array_intersect函数,将$arr1与$arr2作为参数传入,该函数会返回交集结果数组。

array_intersect_assoc($arr1,$arr2),该函数返回交集结果数组,并且键名也会进行比较。

八、其他的数组函数

range(0,12);创建一个包含指定范围单元的数组

使用array_unique函数,移除数组中的重复值,新数组会保留原始键名 。

返回一个单元顺序与原数组相反的数组,此操作通过array_reverse($arr,TRUE)实现,若第二个参数为TRUE则保留原来的键名。

将随机种子触发器设置为,以微秒时间乘以10000000的结果作为浮点数,再以此结果作为参数调用srand函数 。

从数组中随机取出一个或多个元素,使用的是array_rand函数,参数为数组变量$arr以及要取出的元素个数2 。

shuffle($arr);将数组的顺序打乱

本类函数允许通过多种方法来操作数组,本类函数允许通过多种方法与数组交互。数组的本质是储存一组变量,数组的本质是管理一组变量,数组的本质是操作一组变量。

PHP支持一维数组,也支持多维数组,数组可以由用户创建,也可以由另一个函数创建,有一些特定的数据库处理函数,能从数据库查询中生成数组,还有一些函数会返回数组。

array_change_key_case这个函数,返回的是一个数组,该数组的字符串键名全为小写,或者全为大写。

array_chunk — 将一个数组分割成多个

创建一个数组,将一个数组的值用作其键名,把另一个数组的值当作其值,这就是array_combine的作用 。

array_count_values用于统计数组中所有值出现的次数

array_diff_assoc用于计算数组的差集,它会进行索引检查 。

array_diff_key用于通过键名比较来计算数组的差集。

array_diff_uassoc用于计算数组的差集,通过用户提供的回调函数来做索引检查。

array_diff_ukey用于计算数组的差集,通过回调函数对键名进行比较 。

array_diff — 计算数组的差集

用指定的键,用值填充数组,这就是array_fill_keys函数的作用 。

array_fill — 用给定的值填充数组

array_filter — 用回调函数过滤数组中的单元

array_flip — 交换数组中的键和值

array_intersect_assoc用于计算数组的交集,并且会进行索引检查 。

使用键名比较,计算数组的交集,这一操作由 array_intersect_key 来完成 。

array_intersect_uassoc用于计算数组的交集,它带有索引检查,会使用回调函数来比较索引 。

array_intersect_ukey,它通过用回调函数比较键名,进而计算数组的交集 。

array_intersect — 计算数组的交集

检查给定的键名是否存在于数组中,检查给定的索引是否存在于数组中,这一操作可通过array_key_exists实现

array_keys — 返回数组中所有的键名

array_map — 将回调函数作用到给定数组的单元上

array_merge_recursive,它会递归地进行合并操作,将一个或多个数组合并起来 。

array_merge — 合并一个或多个数组

array_multisort,用于对多个数组进行排序,也可用于对多维数组进行排序 。

array_pad — 用值将数组填补到指定长度

array_pop — 将数组最后一个单元弹出(出栈)

array_product — 计算数组中所有值的乘积

将一个或多个单元压入数组的末尾,这一操作被称为入栈,而实现此操作的函数是array_push 。

array_rand — 从数组中随机取出一个或多个单元

array_reduce,它是一种函数,用回调函数来迭代数组,最终将数组简化为单一的值 。

array_reverse — 返回一个单元顺序相反的数组

array_search用于在数组中搜索给定的值,若搜索成功,它会返回相应的键名 。

array_shift — 将数组开头的单元移出数组

array_slice — 从数组中取出一段

array_splice,它能够去掉数组中的一部分,还能用其它值将其取代 。

array_sum — 计算数组中所有值的和

array_udiff_assoc,用于计算数组的差集,带有索引检查,通过回调函数来比较数据 。

array_udiff_uassoc用于计算数组的差集,这种计算带有索引检查,并且会使用回调函数来比较数据和索引 。

array_udiff用于计算数组的差集,通过使用回调函数来比较数据 。

array_uintersect_assoc用于计算数组的交集,会进行索引检查,通过回调函数来比较数据。

array_uintersect_uassoc用于计算数组的交集,会进行索引检查,通过回调函数来比较数据和索引 。

array_uintersect用于计算数组的交集,它通过回调函数来比较数据。

array_unique — 移除数组中重复的值

在数组开头,插入一个或多个单元,这就是array_unshift的作用

array_values — 返回数组中所有的值

array_walk_recursive,它会对数组中的每个成员进行操作,这种操作是递归地应用用户函数 。

array_walk — 对数组中的每个成员应用用户函数

array — 新建一个数组

arsort — 对数组进行逆向排序并保持索引关系

asort — 对数组进行排序并保持索引关系

compact — 建立一个数组,包括变量名和它们的值

count — 计算数组中的单元数目或对象中的属性个数

current — 返回数组中的当前单元

返回数组中当前的键/值对,将数组指针向前移动一步

end — 将数组的内部指针指向最后一个单元

extract — 从数组中将变量导入到当前的符号表

in_array — 检查数组中是否存在某个值

key — 从关联数组中取得键名

krsort — 对数组按照键名逆向排序

ksort — 对数组按照键名排序

list — 把数组中的值赋给一些变量

natcasesort是一种算法,它能对数组进行排序,采用的是“自然排序”算法,且不区分大小写字母。

natsort — 用“自然排序”算法对数组排序

next — 将数组中的内部指针向前移动一位

pos — current() 的别名

prev — 将数组的内部指针倒回一位

range — 建立一个包含指定范围单元的数组

reset — 将数组的内部指针指向第一个单元

rsort — 对数组逆向排序

shuffle — 将数组打乱

sizeof — count() 的别名

sort — 对数组排序

uasort用于对数组中的值进行排序,使用的是用户自定义的比较函数,排序后保持索引关联。

使用用户自定义的比较函数,对数组中的键名进行排序,这个操作叫做uksort

使用用户自定义的比较函数,对数组中的值进行排序,这个函数名为usort 。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

52阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读