PHP学习日志之数组处理函数(原创)

本文详细介绍了PHP中的数组操作,包括数组的创建、测试、增删元素等基本操作,以及数组的定位、遍历、排序、合并等高级操作,并提供了丰富的函数实例。

数组输出函数

 boolean print_r(mixed variable [, boolean return])

数组创建函数

1、array()
     array array(item1 [,item2 ... [,imtemN]]])
2、list()
     void list(mixed...)
3、range()
     array range(int low, int high [,int step])

数组测试函数

boolean is_array(mixed variable)

数组增删元素函数

1、$arrayname[]
    //这不是一个函数,而是一个语言特性。只通过赋值就能增加数组元素
2、array_push()
    array_push(array target_array, mixed variable [,mixed variable...])
    //将variable元素增加到target_array的末尾,成功返回true,否则false
3、array_pop()
    mixed array_pop(array target_array)
    //返回target_array的最后一个元素,并在结束后重置数组的指针
4、array_shift()
    mixed array_shift(array target_array)
    //返回target_array的第一个数组元素,如果使用的是数值键,则所有相应的值都会下移,如果使用关联键则不受影响
5、array_unshift()
    int array_unshift(array target_array,mixed variale [, mixed variable...])
    //将variable元素增加到target_array的数组头
6、array_pad()
    array_pad(array target, integer length, mixed pad_value)
    //修改target数组,将其大小增加到length指定的长度,并填充pad_value的值

数组元素定位

1、in_array()
    boolean in_array(mixed needle, array haystack [,boolean strict])
    //在haystack中搜索needle,如果找到则返回true,否则false,第三个参数可选,强制搜索是考虑类型
2、array_keys()
    array array_keys(array target_array [, mixed search_value])
    //返回一个由数组target_array中所有键组成的数组
3、array_key_exists()
    boolean array_key_exists(mixed key, array target_array)
    //如果提供的key属于数组target_array,则函数返回true,否则返回false
4、array_values()
    array array_values(array target_array)
    //返回数组target_array中的所有值,并自动为返回的数组提供索引
5、array_search()
    mixed array_search(mixed needle, arrar haystack [, boolean strict]))
    //在数组haystack中搜索值needle,如果找到则返回它的键,否则返回false

数组遍历函数

1、key()
    mixed key(array input_array)
    //返回input_array中位于当前指针位置的键元素,注意每个key()调用不会推进指针
2、reset()
    mixed reset(array input_array)
    //用来将input_array的指针设置回数组的开始位置,多次查找或排序时常用到此函数
3、each()
    array each(array input_array)
    //返回input_array的当前键/值对,并将指针推进一个位置,如果指针位于数组末尾,则返回false
4、current()
    mixed current(array target_array)
    //返回位于target_array数组当前指针位置的数组值,注意current()不移动指针
5、end()
    mixed end(array target_array)
    //将指针移向target_array的最后一个位置,并返回最后一个元素
6、next()
    mixed next(array target_array)
    //放回紧接着放在单签数组指针的下一个位置的数组值
7、prev()
    mixed prev(array target_array)
    //返回位于当前指针前一个位置的数组值,如果指针位于数组的第一个位置,则返回false
8、array_walk()
    boolean array_walk(array input_array, callback funcion [, mixed userdata])
    //将input_array中的各个元素传递给自定义函数function
9、array_reverse()
    array array_reverse(array target [, boolean preserve_keys])
    //将target数组中国元素的顺序逆置,可选参数preserve_keys为true则保持键映射,否则仅逆置数组值
10、array_flip()
    array array_flip(array target_array)
    //是数组target_array中的键及其相应值互换

数组大小和唯一性函数

1、count()
    integer count(array input_array [, int mode])
    //返回input_array中值的总数,如果启用了可选参数mode,则递归统计
2、array_count_values()
    array array_values(array input_array)
    //返回一个包含关联键/值对的数组,每个键表示input_array中的一个值,相应的值表示这个键在input_array中出现的频度
3、array_unique()
    array array_unique(array input_array)
    //将删除input_array中所有重复的值,返回一个由唯一值组成的数组

 数组排序函数

1、sort()
    void sort(array target_array [, int sort_flags])
    //就低排序,不返回任何值。元素按值由低到高的顺序排列
2、natsort()
    void natsort(array target_array)
    //按照人们使用习惯排序
3、natcasesort()
    void natcasesort(array target_array)
    //功能上与natsort()相同,只是它不区分大小写
4、rsort()
    void rsort(array target_array [, int sort_flags])
    //将数组以降序排列
5、asort()
    void asort(array target_array [, integer sort_flags])
    //以升序排列数组,并且保持键/值对的关联
6、array_multisort()
    boolean array_multisort(array array [, mixed arg [,mixed arg2...]])
    //可以一次对多个数组排序,还可以按多种方式对多维数组进行排序,成功返回true,否则返回false
7、arsort()
    void arsort(array array [, int sort_flags])
    //会保持键/值对的关联,但是,以降序对数组排列
8、ksort()
    bool ksort(array array [,int sort_flags])
    //将数组按照键进行排序,成功返回true,失败则返回true
9、krsort()
    bool krsort(array arrya [,int sort_flags])
    //将数组按照键进行排序,但是,以降序对数组排列
10、usort()
    bool usort(array array, callback com_function)
    //用户自定义排序

数组操作函数

1、array_combine()
    array array_combine(array $keys, array $values)
    //创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
2、array_merge()
    array array_merge(array $array1 [, array $array2[, array $...]])
    //合并一个或多个数组
3、array_merge_recursive()
    array array_merge_recursive(array $array1 [, array $... ] )
    //递归地合并一个或多个数组
4、array_slice()
    array array_slice(array $array, int $offset[, int $length[, bool $preserve_keys ]] )
    //从数组中取出一段
5、array_splice()
    array array_splice(array &$input, int $offset[, int $length[, array $replacement ]] )
    //把数组中的一部分元素去掉并用其他值替换
6、array_intersect()
    array array_intersect(array $array1, array $array2[, array $ ... ] )
    //计算数组交集
7、array_intersect_assoc()
    array array_intersect_assoc(array $array1, array $array2[, array $ ... ] )
    //带索引计算数组交集
8、array_diff()
    array array_diff ( array $array1 , array $array2 [, array $ ... ] )
    //计算数组差集
9、array_diff_assoc()
    array array_diff_assoc ( array $array1 , array $array2 [, array $ ... ] )
    //带索引计算数组差集

数组其他有用的函数

1、array_rand()
    mixed array_rand ( array $input [, int $num_req ] )
    //从数组中随机取出一个或多个单元
2、shuffle()
    bool shuffle ( array &$array )
    //将数组打乱(随记排列)
3、array_sum()
    number array_sum ( array $array )
    //计算数组中所有值的和
4、array_chunk()
    array array_chunk ( array $input , int $size [, bool $preserve_keys ] )
    //将数组分成多个

转载于:https://www.cnblogs.com/wangbaoli/archive/2012/07/12/2587782.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值