PHP之数组函数(3)
数组检索函数
- array_keys()函数
-
- 格式:array array_keys(array arr[, mixed searchValue]);以数组的形式返回arr数组中的“键名”,如果指定了可选参数searchValue,则只返回searchValue值的键名,否则arr数组中的所有键名都会被返回。
- 注意:若searchValue是字符串,比较时区分大小写。
- 格式:array array_keys(array arr[, mixed searchValue]);以数组的形式返回arr数组中的“键名”,如果指定了可选参数searchValue,则只返回searchValue值的键名,否则arr数组中的所有键名都会被返回。
- array_values()函数
-
- 格式:array array_values(array arr);以数组的形式返回arr数组中所有的元素值(过滤掉重复的元素值),并为该数组建立连续的整数“键”。
- in_array()函数
-
- 格式:bool in_array(mixed searchValue,array arr [,bool strict]);检查数组arr中是否存在值searchValue,存在返回TRUE,否则返回FALSE。如果第3个参数strict的值为TRUE(默认为FALSE),则in_array()函数还会检查数据类型是否相同。
- array_key_exists()函数
-
- 格式:bool array_key_exists(mixed keyName,array arr);检查数组arr中是否存在键名keyName,存在返回TRUE,否则返回FALSE。
- array_search()函数
-
- 格式:mixed array_search(mixed searchValue,array arr[,bool strict]);在数组arr中搜索给定的值searchValue,如果找到则返回对应的键名,否则返回FALSE。如果第3个参数strict的值为TRUE(默认为FALSE),则array_search()函数还会检查数据类型是否相同。
- 说明:若searchValue是字符串,则比较时区分大小写;若searchValue在arr中出现不止一次,则返回第一个匹配的键;要返回所有匹配值的键,应该用array_keys()函数。
- 格式:mixed array_search(mixed searchValue,array arr[,bool strict]);在数组arr中搜索给定的值searchValue,如果找到则返回对应的键名,否则返回FALSE。如果第3个参数strict的值为TRUE(默认为FALSE),则array_search()函数还会检查数据类型是否相同。
- array_unique()函数
-
- 格式:array array_unique(array arr);返回一个移除数组arr中重复的元素“值”的新数组。
- 说明:array_unique()函数保持了原有的“键值对”对应关系,对每个值只保留第一个遇到的键名。
- 格式:array array_unique(array arr);返回一个移除数组arr中重复的元素“值”的新数组。
数组排序函数
- sort()函数
-
- 格式:bool sort(array &arr);sort()函数按元素“值”的升序对数组arr进行排序。(排序成功返回TRUE,否则返回FALSE)
- 说明:sort()函数为排序后的数组arr赋予新的“整数”键名。
- 格式:bool sort(array &arr);sort()函数按元素“值”的升序对数组arr进行排序。(排序成功返回TRUE,否则返回FALSE)
- asort()函数
-
- 格式:bool asort(array &arr);asort()函数按元素“值”的升序对数组arr进行排序。(排序成功返回TRUE,否则返回FALSE)
- 说明:数组arr经asort()函数排序后,保持数组元素原有的“键值对”对应关系。
- 格式:bool asort(array &arr);asort()函数按元素“值”的升序对数组arr进行排序。(排序成功返回TRUE,否则返回FALSE)
- rsort()函数和arsort()函数<降序排列>
-
- rsort()函数与sort()函数语法格式相同;
- arsort()函数与asort()函数语法格式相同;
- 不同的是rsort()函数和arsort()函数是按降序对数组进行排列。
- ksort()函数
-
- 格式:bool ksort(array &arr);对数组arr按照键名升序排列,并保持数组元素原有的“键值对”对应关系。(成功返回TRUE,否则返回FALSE)
- krsort()函数
-
- 格式:krsort()函数对数组arr按照键名降序排列,并保持数组元素原有的“键值对”对应关系。(成功返回TRUE,否则返回FALSE)
- natsort()函数
-
- 格式:bool natsort(array &arr);用“自然排序”算法对数组arr元素“值”进行升序排序(区分大小写),并保持数组元素原有的“键值对”对应关系不变。
- natcasesort()函数
-
- 格式:bool natcasesort(array &arr);用“自然排序”算法对数组arr元素“值”进行不区分大小写字母的升序排序,并保持数组元素原有的“键值对”对应关系不变。
- shuffle()函数
-
- 格式:bool shuffle(array &arr);为数组arr随机排序,并为随机排序后的数组arr赋予新的键名。
- array_reverse()函数
-
- 格式:array array_reverse(array arr[,bool preserve_keys]);返回一个和数组arr元素顺序相反的新数组,若preserve_keys为TRUE 则保持数组元素原有的“键值对”对应关系不变。
排序函数记忆技巧:
╱ "a"表示association,含义是排序的过程中保持“键值对”的对应关系不变;
排序函数中 ▏ "k"表示key,含义是按照数组元素“键”而不是数组元素“值”排序;
╲ "r"表示reverse,含义是按照数组元素“值”的降序(descend)进行排序;
"nat"表示natural,含义是用“自然排序”算法对数组元素“值”进行排序。