一些数组操作函数记录
定位数组元素函数
list()
可以在一次操作中从一个数组内提取多个值,同时为多个变量赋值。
Range(int low,int high[,step])
快速创建数组的简单方法,并会使用low到high范围内的整数值填充数组。这个函数将返回一个包含此范围内所有整数的数组。
Array_unshift(array array,mixed variable[,mixed variable…])
在数组头添加元素
Array_push(array array,mixed variable[,mixed variable…])
将值添加到数组的末尾
Array_shift(array array)
删除并返回数组中找到的第一个元素
Array_pop(array array)
删除并返回数组的最后一个元素
In_array(mixed needle,array haystack[, boolean strict])
在数组中搜索一个特定值,如果找到返回TRUE,否则返回FALSE
Array_key_exists(mixed key,array array)
在数组中搜索一个特定的键,如果找到返回TRUE,否则返回FALSE
Array_search(mixed needle,array haystack[,Boolean strict])
在数组中搜索一个特定值,如果找到返回相应的键,否则返回FALSE
Array_keys(array array[,mied search_value[,Boolean preserve_keys]])
返回一个数组,其中包含所搜索数组中找到的所有键
Array_values(array array)
返回一个数组中的所有值,并自动为返回的数组提供数值索引
遍历数组函数
Key(array array)
返回数组中当前指针所在位置的键
current(array array)
返回数组中当前指针所在位置的数组值
each(array array)
返回数组的当前键/值对,并将指针推进一个位置
Next(array array)
返回紧接着放在当前数组指针下一个位置的数组值
Prev(array array)
返回位于当前指针前一个位置的数组值,如果指针本来就位于数组的第一个位置,则返回FALSE
Reset(array array)
用于将数组指针设置回数组的开始位置
End(array array)
将指针移动到数组的最后一个位置,并返回最后一个元素
Array_walk(array array,callback function[,mixed userdata])
将数组中的各个元素传递到用户自定义函数
确定数组的大小和唯一性
Count(array array[,int mode])
返回数组中值的总数
Sizeof()
返回数组中值的总数
Array_count_values(array array)
返回一个包含关联键/值对的数组
Array_unique(array array[, int sort_flags = SORT_STRING])
删除数组中所有重复的值,返回一个由唯一值组成的数组
数组排序
Array_reverse(array array[,boolean preserve_keys])
将数组中元素的顺序逆置
Array_flip(array array)
将置换数组中键及其相应值的角色
Sort(array array[,int sort_flags])
对数组进行排序,各元素按值由低到高的顺序排列,破坏键/值的关联
asort(array array[,int sort_flags])
对数组进行排序,各元素按值由低到高的顺序排列,保持键/值的关联
rsort(array array[,int sort_flags])
对数组进行排序,各元素按值由高到低的顺序排列,破坏键/值的关联
arsort(array array[,int sort_flags])
对数组进行排序,各元素按值由高到低的顺序排列,保持键/值的关联
Natsort(array array)
按接近于人所认知的正确顺序对元素排序,区分大小写
Natcasesort(array array)
按接近于人所认知的正确顺序对元素排序,不区分大小写
Ksort(array array[,int sort_flags])
按键对数组排序,升序
Krsort(array array[,int sort_flags])
按键对数组排序,降序
Usort(array array,callback function_name)
根据用户自定义规则排序
合并、拆分、接合和分解数组
Array_merge(array array1, array array2[,array arrayN])
将数组合并到一起,返回一个联合的数组。当某个输入数组中的某个键已经存在于结果数组中时,该函数将会覆盖前面存在的键/值对,将其替换为当前输入数组中的键/值对(追加)
Array_merge_recursive(array array1, array array2[,array arrayN])
将数组合并到一起,返回一个联合的数组。当某个输入数组中的某个键已经存在于结果数组中时,该函数将把两个值合并在一起,形成一个新的数组并以原有的键作为数组名(追加)
Array_combine(array keys,array values) 返回由一组提交的键和对应的值组成的一个新数组
Array_slice(array array,int offset[,int length[,boolean preserve_keys]])
将返回数组中的一部分,从键offset开始,到offset+length位置结束
Array_splice(array array,int offset[,int length[,array replacement]])
删除数组中从offset开始到offset+length结束的所有元素,并以数组的形式返回所删除的元素
Array_intersect(array array1,array array2[,array arrayN])
返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成(交集)
Array_intersect_key(array array1,array array2[,array arrayN])
返回一个数组只由第一个数组中出现的且在其他每个输入数组中都出现的键组成的数组
Array_intersect_ukey()
允许根据一个用户定义函数确定的比较算法对多个数组的键进行比较
Array_intersect_assoc(array array1,array array2[,array arrayN])
返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的键/值组成
Array_diff(array array1,array array2[,array arrayN])
返回出现在第一个数组中但其他输入数组中没有的值(差集)
Array_udiff()
允许根据一个用户定义函数确定的比较算法对多个数组的键进行比较
Array_diff_key(array array1,array array2[,array arrayN])
返回位于一个数组但是不在任何其他指定数组中的键
Array_diff_assoc(array array1,array array2[,array arrayN])
只在第一个数组中出现而不在其他输入数组中出现的键/值对才会被返回到结果数组中
其他有用的数组函数
Array_rand(array array[, int num_entries])
返回数组中的一个或多个键
Shuffle(array input_array)
随机地对数组元素重新排序
Array_num(array array)
将数组中的所有值加在一起,返回最终的和
Array_chunk(array array,int size[,boolean preserve_keys])
将数组分解为一个多维数组,这个多维数组由多个包含size个元素的数组所组成
只言片语任我说,提笔句句无需忖。落笔不知寄何人,唯有邀友共斟酌。