1. 计算数组的差集
array array_diff(array $array1, array $array2 [, array $... ])
- 说明:该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。
返回值:返回一个数组,注意键名保留不变。
2. 带索引检查使用值比较计算数组的差集
array array_diff_assoc(array $array1, array $array2 [, array $... ])
- 说明:该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。
返回值:返回一个数组,注意键名保留不变。
3. 使用键名比较计算数组的差集
array array_diff_key(array $array1, array $array2 [, array $... ])
- 说明:根据 array1 中的键名和 array2 进行比较,返回不同键名的项。 本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。 键名根据严格类型检查(===)。
返回值:返回一个数组,注意键名保留不变。
4. 计算数组的交集
array array_intersect(array $array1, array $array2 [, array $... ])
- 说明:该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。
返回值:返回一个数组,注意键名保留不变。
5. 带索引检查计算数组的交集
array array_intersect_assoc(array $array1, array $array2 [, array $... ])
- 说明:该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意和 array_intersect() 不同的是键名也用于比较。
返回值:返回一个数组,注意键名保留不变。
6. 使用键名比较计算数组的交集
array array_intersect_key(array $array1, array $array2 [, array $... ])
- 说明:根据 array1 中的键名和 array2 进行比较,返回相同键名的项。 本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。 键名根据严格类型检查(===)。
返回值:返回一个数组,注意键名保留不变。
7. 用给定的值填充数组
array array_fill(int $start_index, int $num, mixed $value)
- 说明:用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。
返回值:返回填充后的数组。
8. 使用指定的键和值填充数组
array array_fill_keys(array $keys, mixed $value)
- 说明:使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组。
返回值:返回填充后的数组。
9. 检查数组里是否有指定的键名或索引
bool array_key_exists(mixed $key, array $array)
- 说明:数组里有键 key 时,array_key_exists() 返回 TRUE。 key 可以是任何能作为数组索引的值。 array_key_exists() 仅仅搜索第一维的键。 多维数组里嵌套的键不会被搜索到。
返回值:成功时返回 TRUE, 或者在失败时返回 FALSE。
10. 返回数组中部分的或所有的键名
array array_keys(array $array [, mixed $search_value = null [, bool $strict = false ]])
- 说明:返回给定数组中的键名或索引。如果指定了可选参数 search_value,则只返回该值的键名。否则给定数组中的所有键名都会被返回。
返回值:返回一个数组。
11. 合并一个或多个数组
array array_merge(array $array1 [, array $... ])
- 说明:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
返回值:返回结果数组。
12. 弹出数组最后一个单元(出栈)
mixed array_pop(array &$array)
- 说明:弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。
返回值:返回 array 的最后一个值。如果 array 是空(如果不是一个数组),将会返回 NULL 。
13. 将一个或多个单元压入数组的末尾(入栈)
int array_push(array &$array, mixed $value1 [, mixed $... ])
- 说明:将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。
返回值:返回处理之后数组的元素个数。
14. 打乱数组
bool shuffle(array &$array)
- 说明:打乱(随机排列单元的顺序)一个数组。 它使用的是伪随机数产生器。
返回值:成功时返回 TRUE, 或者在失败时返回 FALSE。
15. 使用传递的数组替换第一个数组的元素
array array_replace(array $array1, array $array2 [, array $... ])
- 说明:使用后面数组元素相同 key 的值替换 array1 数组的值。如果一个键存在于第一个数组同时也存在于第二个数组,它的值将被第二个数组中的值替换。如果一个键存在于第二个数组,但是不存在于第一个数组,则会在第一个数组中创建这个元素。如果一个键仅存在于第一个数组,它将保持不变。如果传递了多个替换数组,它们将被按顺序依次处理,后面的数组将覆盖之前的值。
返回值:返回一个数组。
16. 返回单元顺序相反的数组
array array_reverse(array $array [, bool $preserve_keys = false ])
- 说明:返回一个单元为相反顺序的新数组。如果 preserve_keys 设置为 TRUE 会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。
返回值:返回反转后的数组。
17. 在数组中搜索给定的值(检查数组中是否存在某个值)
mixed array_search(mixed $needle, array $haystack [, bool $strict = false ])
bool in_array(mixed $needle, array $haystack [, bool $strict = FALSE ])
- 说明:大海捞针,在大海(haystack)中搜索针( needle 参数)。如果 needle 是字符串,则比较以区分大小写的方式进行。 如果可选的第三个参数 strict 为 TRUE,则 array_search() 将在 haystack 中检查完全相同的元素。
返回值:如果找到了 needle 则返回它的键,否则返回 FALSE。(如果存在返回TRUE,否则返回 FALSE。)
18. 将数组开头的单元移出数组
mixed array_shift(array &$array)
- 说明:将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,字符串键名将不变。
返回值:返回移出的值,如果 array 为 空或不是一个数组则返回 NULL。
19. 从数组中取出一段
array array_slice(array $array, int $offset [, int $length = NULL [, bool $preserve_keys = false ]])
- 说明:返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。默认会重新排序并重置数组的数字索引。
返回值:返回其中一段。如果 offset 参数大于 array 尺寸,就会返回空的 array。
20. 去掉数组中的某一部分并用其它值取代
array array_splice(array &$input, int $offset [, int $length = count($input) [, mixed $replacement = array() ]])
- 说明:把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。 注意 input 中的数字键名不被保留。当传入的 replacement 是个对象或者 NULL,会导致未知的行为出现。
返回值:返回一个包含有被移除单元的数组。
21. 移除数组中重复的值
array array_unique(array $array [, int $sort_flags = SORT_STRING ])
- 说明:先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。注意键名保留不变。
返回值:返回过滤后的数组。
22. 在数组开头插入一个或多个单元
int array_unshift(array &$array, mixed $value1 [, mixed $... ])
- 说明:将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。
返回值:返回 array 数组新的单元数目。
23. 返回数组中所有的值
array array_values(array $array)
- 说明:返回给定数组中所有的值并给其建立数字索引。
返回值:返回含所有值的索引数组。