2007年5月26日星期六

PHP基本的数组函数

计算数组元素的数量

计算数组元素的数量integer count(mixed var)能用于任何类型的变量,且如果检查到数组或者有设定的变量时,其返回值为0。若需确认count()被调用的对象是否为数组,可以选使用另一个函数is_array()
函数array array_count_values(array input)计算数组里每个值的实例的数量,并返回包含计算结果

创建数组的函数

array array_fill(integer start, integer count, mixed value)创建的新数组由start所表示的元素开始,以count表示元素数量,元素值都为value
array range(mixed low, mixed high [, integer step])由低至高依次创建数组元素值,PHP 5中还引入了step的新功能,可决定新数组中的元素如何递增

字符串与数组的互换

array explode(string separator, string subject [, integer limit])返回的字符串数组,是以separator指定的字符串分解subject字符串而形成的,可选参数limit决定返回数组成员的最大数量
string implode(string glue, array pieces)会把pieces指定的数组成员全都连成一个字符串,中间以glue指定的字符串进行分隔
string join(string glue, array pieces)是implode()的别名,操作方式完全一样

找出数组中的最大值与最小值

number max(array numbers)number min(array numbers)可以找出数组中的最大值或者最小值

用in_array()与array_search()查找数组中的值

boolean in_array(mixed needle, array haystack [, boolean strict]),从数组中haystack中找出特定值 needle,若找到刚返回 truestrict 是可选参数,用于字符串与needle比较时强制检查类型
mixed array_search(mixed needle, array haystack [, boolean strict])的动作方式与in_array()相同,只是与needle对应的键值也会被返回,不只是返回布尔值 true

元素的键与值

boolean array_key_exists(mixed key, array source)可以检查成员 mixed key 是否存在于数组 source 中,存在刚返回 true
array array_keys(array input [, mixed search_value])返回所有键值,如果可以参数value已设定,可只返回与 value对应的键

连接多个数组

array array_merge(array array1, array array2, [,array ...])可以连接多个数组且不会改写元素值,而如果以 + 连接多个数组,刚PHP会由右而左附加元素,所以array2 里与array1 在相同键上的元素会被array1所覆盖

数组排序

以array_reverse()重新排列元素

array array_reverse(array source [, bool preserve_keys])可以把数组 source 里面元素以倒序排列,如果preserve_keys设定为true,可排序后不改变元素的键值

sort()与rsort()

sort(array subject [, integer sort_flag]rsort(array subject [, integer sort_flag]分别将数组以升序和降序排列,sort_flag可以强制PHP对字符串或数字的排序动作-SORT_STRING把数字作为字符 串来排序,SORT_REGULAR以正常方式排序,SORT_NUMERIC以数字顺序比较名个元素

关联数组排序

asort(array subject [, integer sort_flag]arsort(array subject [, integer sort_flag]分别将关联数组以升序和降序排列,不改元素的索引,用于非关联数组时,元素索引也不会变

对键排序

integer ksort(array subject [, integer sort_flag]integer krsort(array subject [, integer sort_flag]分别将数组以键的升序和降序重新排序

通过用户自定义方式排序

usort(array subject, string compare_function)uasort(array subject, string compare_function)uksort(array subject, string compare_function)三个函数对数组 subject 调用用户自定义函数 compare_function 进行元素排序、关联数组排序及以键排序,integer my_compare_fuction(mixed a, mixed b)为用户自定义函数的原型,如果 a <>刚返回负数,a > b则返回正数,a = b 则返回 0

没有评论: