1. array_merge() 函数把一个或多个数组合并为一个数组
array_merge(array1,array2,array3...)
如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。
如果您仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。
2. array_merge_recursive() 函数把一个或多个数组合并为一个数组
array_merge_recursive(array1,array2,array3...)
该函数与 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
如果您仅仅向 array_merge_recursive() 函数输入一个数组,结果与 array_merge() 相同,函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。
3. array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
array_multisort(array1,sorting order,sorting type,array2,array3...)
sorting order可选。规定排列顺序。可能的值:
- SORT_ASC - 默认。按升序排列 (A-Z)。
- SORT_DESC - 按降序排列 (Z-A)。
sorting type
可选。规定排序类型。可能的值:
- SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
- SORT_NUMERIC - 把每一项作为数字来处理。
- SORT_STRING - 把每一项作为字符串来处理。
- SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
- SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
- SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。
4. array_pad() 函数将指定数量的带有指定值的元素插入到数组中
array_pad(array,size,value)
如果您将 size 参数设置为负数,该函数会在原始数组之前插入新的元素(参见下面的实例)。
注释:如果 size 参数小于原始数组的长度,该函数不会删除任何元素。
返回带有新元素的数组。
5. array_pop() 函数删除数组中的最后一个元素
array_pop(array)
返回数组的最后一个值。如果数组是空的,或者非数组,将返回 NULL。
6. array_product() 函数计算并返回数组的乘积
返回整数或者浮点数的乘积。
自 PHP 5.3.6 起,空数组的乘积为 1。在 PHP 5.3.6 之前,空数组的乘积为 0。
7. array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度
该函数等于多次调用 $array[] = $value。
array_push(array,value1,value2...)
即使数组中有字符串键名,您添加的元素也始终是数字键。(参见例子 2)
如果用 array_push() 来给数组增加一个单元,还不如用 $array[] =,因为这样没有调用函数的额外负担。
8. array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组
array_rand(array,number) 可选。规定返回多少随机键名。
9. array_reduce() 函数向用户自定义函数发送数组中的值,并返回一个字符串
如果数组是空的且未传递 initial 参数,该函数返回 NULL
array_reduce(array,myfunction,initial)
array_reduce() 函数用回调函数迭代地将数组简化为单一的值。
如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。
10. array_replace() 函数使用后面数组的值替换第一个数组的值
您可以向函数传递一个数组,或者多个数组。
array_replace(array1,array2,array3...)
如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换。如果一个键仅存在于第一个数组 array1,它将保持不变。
如果一个键存在于第二个数组 array2,但是不存在于第一个数组 array1,则会在第一个数组 array1 中创建这个元素。
如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值。
11. array_replace_recursive() 函数递归地使用后面数组的值替换第一个数组的值
您可以向函数传递一个数组,或者多个数组。
array_replace_recursive(array1,array2,array3...)
如果一个键存在于第一个数组 array1 同时也存在于第二个数组 array2,第一个数组 array1 中的值将被第二个数组 array2 中的值替换。如果一个键仅存在于第一个数组 array1,它将保持不变。如果一个键存在于第二个数组 array2,但是不存在于第一个数组array1,则会在第一个数组 array1 中创建这个元素。如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值。
返回被替换的数组,如果发生错误则返回 NULL。