利用工作闲暇时间,做了个总结,可能会有叙述不正确的,望指正,互相进步,持续更正!
array()
array_fill() 用给定的键值填充数组。
array_fill_keys() 用指定键名的给定键值填充数组。
range() 创建包含指定范围单元的数组。
compact() 创建包含变量名和它们的值的数组。
2.数组排序
array_multisort() 对多个数组或多维数组进行排序。
arsort() 对关联数组按照键值进行降序排序。
asort() 对关联数组按照键值进行升序排序。
krsort() 对数组按照键名逆向排序。
ksort() 对数组按照键名排序。
natcasesort() 用“自然排序”算法对数组进行不区分大小写字母的排序。
natsort() 用“自然排序”算法对数组排序。
rsort() 对数组逆向排序。
sort() 对数组排序。
uasort() 使用用户自定义的比较函数对数组中的键值进行排序。
uksort() 使用用户自定义的比较函数对数组中的键名进行排序。
usort() 使用用户自定义的比较函数对数组进行排序。
shuffle() 将数组打乱。
3.数组遍历count() 返回数组中元素的数目。
sizeof() count() 的别名。
current() 返回数组中的当前元素。
foreach() 循环遍历数组
each() 返回数组中当前的键/值对。
end() 将数组的内部指针指向最后一个元素。
list() 把数组中的值赋给一些变量。
next() 将数组中的内部指针向前移动一位。
pos() current() 的别名。
prev() 将数组的内部指针倒回一位。
reset() 将数组的内部指针指向第一个元素。
4.数组与字符串转换
extract() 从数组中将变量导入到当前的符号表。implode() 把数组元素以字符分割组合为一个字符串
array_reduce() 通过使用用户自定义函数,以字符串返回数组。(可用作打印数组使用)
5.数组比较
array_diff() 比较数组,返回差集(只比较键值,用于排除第一个参数数组中不需要的参数)。array_intersect() 比较数组,返回交集(只比较键值,用于查询第一个参数数组中和其他数组一样的地方)。
array_diff_assoc() 比较数组,返回差集(比较键名和键值)。
array_intersect_assoc() 比较数组,返回交集(比较键名和键值)。
array_diff_key() 比较数组,返回差集(只比较键名)。
array_intersect_key() 比较数组,返回交集(只比较键名)。
array_diff_uassoc() 比较数组,返回差集(比较键名和键值,使用用户自定义的键名比较函数)。
array_intersect_uassoc() 比较数组,返回交集(比较键名和键值,使用用户自定义的键名比较函数)。
array_diff_ukey() 比较数组,返回差集(只比较键名,使用用户自定义的键名比较函数)。
array_intersect_ukey() 比较数组,返回交集(只比较键名,使用用户自定义的键名比较函数)。
以下也是数组比较函数,需要自定义函数(如果第一个参数小于等于或大于第二个参数,则比较函数必须返回小于等于或大于 0 的整数。)比较,可能在多维数组中需要用到这个
array_udiff() 比较数组,返回差集(只比较值,使用一个用户自定义的键名比较函数)。
array_udiff_assoc() 比较数组,返回差集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。
array_udiff_uassoc() 比较数组,返回差集(比较键和值,使用两个用户自定义的键名比较函数)。
array_uintersect() 比较数组,返回交集(只比较值,使用一个用户自定义的键名比较函数)。
array_uintersect_assoc() 比较数组,返回交集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。
array_uintersect_uassoc() 比较数组,返回交集(比较键和值,使用两个用户自定义的键名比较函数)。
6.数组合并或分割
array_chunk() 把一个数组分割为新的数组块。(可以理解为一维数组变为二维的甚至多维的)
array_combine() 通过合并两个数组来创建一个新数组。(以第一个数组为键,第二个数组为键值合并)
array_merge() 把一个或多个数组合并为一个数组。
array_merge_recursive() 递归地合并一个或多个数组。
7.数组查询
array_column() 返回输入数组中某个单一列的值。(用于在多查询的model层函数结果中,只使用某一列的值,如id)
array_count_values() 用于统计数组中所有值出现的次数。(当数据查询太复杂不好实现数量查询时,可以用这个做数量处理)
array_keys() 返回数组中所有的键名。(返回一个只有一维键的数组)
array_values() 返回数组中所有的值。(将一维的键值替换为数字键值)
array_rand() 返回数组中一个或多个随机的键。
array_unique() 删除数组中的重复值。
array_flip() 交换数组中的键和值。(两次调用可作为删除数组重复键使用)
array_pop() 删除数组的最后一个元素(出栈)。(倒序查询数组)
array_push() 将一个或多个元素插入数组的末尾(入栈)。(可批量向数组增加新成员,并返回数组的元素个数)
array_unshift() 在数组开头插入一个或多个元素。
array_key_exists() 检查指定的键名是否存在于数组中。(可以用来做批量的查询结果的判断)
in_array() 检查数组中是否存在指定的值。
array_keys() 返回数组中所有的键名。
array_reverse() 以相反的顺序返回数组。(反转数组)
array_search() 搜索数组中给定的值并返回键名。(这种功能一般都是数据库查询,根据值查键名,对于批量的数组可能会用到)
array_replace() 使用后面数组的值替换第一个数组的值。(可用于批量修改key=>value型存储)
array_replace_recursive() 递归地使用后面数组的值替换第一个数组的值。(array_replace的升级版,可用于多维)
array_shift() 删除数组中首个元素,并返回被删除元素的值。
array_slice() 返回数组中被选定的部分。(有点像substr)
array_splice() 删除并替换数组中指定的元素。
array_map() 把数组中的每个值发送到用户自定义函数,返回新的值。(统一对数组进行某种运算操作,并返回)