相关推荐:《PHP ARRAY 数组函数(专题)》
PHP Array 是什么?
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。PHP 中的数组较为复杂,但比其他许多高级语言中的数组更为灵活。
数组 array 是一组有序的变量,其中每个值被称为一个元素。每个元素由一个特殊的标识符来区分,这个标识符称为键(也称为下标)。
数组中的每个实体都包含两项,分别是键(key)和值(value)。可以通过键值来获取相应的数组元素,这些键可以是数值键,也可以是关联键。如果说变量是存储单个值的容器,那么数组就是存储多个值的容器。
PHP 数组比其他高级语言中的数组更加灵活,不但支持以数字为键名的索引数组,而且支持以字符串或字符串、数字混合为键名的关联数组。而在其他高级语言中,如 Java 或者 C++ 等语言的数组,只支持数字索引数组。
PHP 数组的结构如下图所示:
在 PHP 中,有三种数组类型:
索引数组:带有数字索引的数组
关联数组:带有指定键的数组
多维数组:包含一个或多个数组的数组
推荐视频教程:
2、《PHP基本语法(玉女心经版)》
3、《PHP字符串处理(玉女心经版)》
推荐学习手册:《php完全自学手册》
PHP Array 使用
PHP数组的定义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
关联数组
1 2 3 4 5 |
|
多维数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
数组历遍
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
输出结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
常用PHP数组函数
1、count() 函数的作用是计算数组中的元素数目或对象中属性个数
1 |
|
第一个参数是必须的,传人个计算的数组或对象。第二个参数是可选,规定函数的模式是否递归地计算多维数组中数组的元素个数,可能的值是0 或1,0为默认值,不检测多维 数组,为 1则检测多维数组
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
2、array_count_values() 函数用于统计数组中所有值出现的次数,该函数只有一个参数
1 |
|
参数规定输入一个数组,返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数
示例:
1 2 3 |
|
3、array_unique()函数用于删除数组中重复的值,并返回没有重复值的新数组
1 |
|
参数需要接受一个数组,当数组中几个元素的值相等时,只保留第一个元素,其他元素被删除,并且返回的新数组中键名不变,array_unique()先将值作为字符串排序,然后对每个值只保留第一遇到的键名,接着忽略所有后面的键名
示例:
1 2 |
|
4、array_filter() 函数用回调函数过滤数组中元素,返回按用户自定义函数过滤后的数组
1 |
|
参数:第一参数是必选项,要求输入一个被过滤的数组,第二参数可选,将用户自定义的函数名以字符串形式传入,如果自定义过滤函数返回true,则被操作的数组的当前值就会被包含在返回的结果数组中,并将结果组成一个新数组,如果原数组是一个关联数组,则键名保持不变。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
5、array_walk()函数对数组中的每个元素应用回调函数处理,如果成功返回true,否则返回false
1 |
|
第一个参数是必须,要求输入一个被指定的回调函数处理的数组,第二个参数传人用户定义的回调函数,用于操作传人第一参数的数组
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
6、array_map()函数可以处理多个数组,将回调函数作用到给定数组的元素上,返回用户自定义函数作用后数组。
1 |
|
示例:
1 2 3 4 5 6 7 8 9 10 |
|
输出:
1 2 3 4 |
|
PHP 数组函数
函数 | 描述 |
---|---|
array() | 创建数组。 |
array_change_key_case() | 把数组中所有键更改为小写或大写。 |
array_chunk() | 把一个数组分割为新的数组块。 |
array_column() | 返回输入数组中某个单一列的值。 |
array_combine() | 通过合并两个数组来创建一个新数组。 |
array_count_values() | 用于统计数组中所有值出现的次数。 |
array_diff() | 比较数组,返回差集(只比较键值)。 |
array_diff_assoc() | 比较数组,返回差集(比较键名和键值)。 |
array_diff_key() | 比较数组,返回差集(只比较键名)。 |
array_diff_uassoc() | 比较数组,返回差集(比较键名和键值,使用用户自定义的键名比较函数)。 |
array_diff_ukey() | 比较数组,返回差集(只比较键名,使用用户自定义的键名比较函数)。 |
array_fill() | 用给定的键值填充数组。 |
array_fill_keys() | 用指定键名的给定键值填充数组。 |
array_filter() | 用回调函数过滤数组中的元素。 |
array_flip() | 交换数组中的键和值。 |
array_intersect() | 比较数组,返回交集(只比较键值)。 |
array_intersect_assoc() | 比较数组,返回交集(比较键名和键值)。 |
array_intersect_key() | 比较数组,返回交集(只比较键名)。 |
array_intersect_uassoc() | 比较数组,返回交集(比较键名和键值,使用用户自定义的键名比较函数)。 |
array_intersect_ukey() | 比较数组,返回交集(只比较键名,使用用户自定义的键名比较函数)。 |
array_key_exists() | 检查指定的键名是否存在于数组中。 |
array_keys() | 返回数组中所有的键名。 |
array_map() | 把数组中的每个值发送到用户自定义函数,返回新的值。 |
array_merge() | 把一个或多个数组合并为一个数组。 |
array_merge_recursive() | 递归地合并一个或多个数组。 |
array_multisort() | 对多个数组或多维数组进行排序。 |
array_pad() | 用值将数组填补到指定长度。 |
array_pop() | 删除数组的最后一个元素(出栈)。 |
array_product() | 计算数组中所有值的乘积。 |
array_push() | 将一个或多个元素插入数组的末尾(入栈)。 |
array_rand() | 返回数组中一个或多个随机的键。 |
array_reduce() | 通过使用用户自定义函数,以字符串返回数组。 |
array_replace() | 使用后面数组的值替换第一个数组的值。 |
array_replace_recursive() | 递归地使用后面数组的值替换第一个数组的值。 |
array_reverse() | 以相反的顺序返回数组。 |
array_search() | 搜索数组中给定的值并返回键名。 |
array_shift() | 删除数组中首个元素,并返回被删除元素的值。 |
array_slice() | 返回数组中被选定的部分。 |
array_splice() | 删除并替换数组中指定的元素。 |
array_sum() | 返回数组中值的和。 |
array_udiff() | 比较数组,返回差集(只比较值,使用一个用户自定义的键名比较函数)。 |
array_udiff_assoc() | 比较数组,返回差集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。 |
array_udiff_uassoc() | 比较数组,返回差集(比较键和值,使用两个用户自定义的键名比较函数)。 |
array_uintersect() | 比较数组,返回交集(只比较值,使用一个用户自定义的键名比较函数)。 |
array_uintersect_assoc() | 比较数组,返回交集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。 |
array_uintersect_uassoc() | 比较数组,返回交集(比较键和值,使用两个用户自定义的键名比较函数)。 |
array_unique() | 删除数组中的重复值。 |
array_unshift() | 在数组开头插入一个或多个元素。 |
array_values() | 返回数组中所有的值。 |
array_walk() | 对数组中的每个成员应用用户函数。 |
array_walk_recursive() | 对数组中的每个成员递归地应用用户函数。 |
arsort() | 对关联数组按照键值进行降序排序。 |
asort() | 对关联数组按照键值进行升序排序。 |
compact() | 创建包含变量名和它们的值的数组。 |
count() | 返回数组中元素的数目。 |
current() | 返回数组中的当前元素。 |
each() | 返回数组中当前的键/值对。 |
end() | 将数组的内部指针指向最后一个元素。 |
extract() | 从数组中将变量导入到当前的符号表。 |
in_array() | 检查数组中是否存在指定的值。 |
key() | 从关联数组中取得键名。 |
krsort() | 对数组按照键名逆向排序。 |
ksort() | 对数组按照键名排序。 |
list() | 把数组中的值赋给一些变量。 |
natcasesort() | 用“自然排序”算法对数组进行不区分大小写字母的排序。 |
natsort() | 用“自然排序”算法对数组排序。 |
next() | 将数组中的内部指针向前移动一位。 |
pos() | current() 的别名。 |
prev() | 将数组的内部指针倒回一位。 |
range() | 创建包含指定范围单元的数组。 |
reset() | 将数组的内部指针指向第一个元素。 |
rsort() | 对数组逆向排序。 |
shuffle() | 将数组打乱。 |
sizeof() | count() 的别名。 |
sort() | 对数组排序。 |
uasort() | 使用用户自定义的比较函数对数组中的键值进行排序。 |
uksort() | 使用用户自定义的比较函数对数组中的键名进行排序。 |
usort() | 使用用户自定义的比较函数对数组进行排序。 |
Atas ialah kandungan terperinci php数组(Array函数)的处理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!