首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

php arry

作者:  时间: 2011-05-20

输出数组
boolean print_r(var)

创建数组
1.array $a=array("a","b");
2.list
    $line="a|b|c";
    list($a,$b,$c)=explode("|",$line);
3.array range(low,high,step)
    $a=range(0,6) <==> $a=(0,1,2,3,4,5,6);
    $a=range(0,6,2) <==> $a=(0,2,4,6)

测试数组
boolean is_array(arr)

增加或删除数组元素
1.$arrayname[]
2.int array_push(tar,var) 把var放到数组tar的末尾
3.mixed array_pop(tar) 返回并删除数组tar的最后一个元素
4.mixed array_shift(tar) 返回并删除数组tar的第一个元素
5.int array_shift(tar,var) 将var增加到数组tar的最前面
6.array array_pad(tar,legth,pad) 更改数组tar,将其大小更改为legth,并且向右添加值为pad.如果当前大小小于或等于legth则不作任何操作。

定位数组元素 
1.boolean in_array(needle,haystack[,strict]) 返回键needle是否在haystak中
2.array array_key(tar [,search_value]) 返回一个由数组tar中所有键组成的数组
3.boolean array_key_exists(key,tar) 如果数组tar存在键key返回true
4.array array_values(tar) 返回一个包含数组tar所有值得数组
5.miexd array_search(needle,hastack [,strict]) 返回值needl是否在hastack中存在

遍历数组
1.key() 取元素的键名
2.mixed reset(arr) 将数组arr的指针指向第一个元素
3.array each(arr) 返回数组arr中的当前键/值,并把指针移到下一个元素
4.mixed current(arr) 返回数组arr中的当前键/值
5.mixed end(arr) 把数组arr的指针指向最后一个元素,并返回最后一个元素
6.mixed next(arr) 把数组arr的指针指向下一个元素
7.mixed prev(tar) 将数组tar中的指针指向前一个元素,并返回这个元素
8.boolean array_walk(arr,cb,userdata) 将数组arr一次传递到自定义函数cb中
9.array array_reverse(arr,keys) 把数组arr中的值逆序排列
10.array array_flip(arr) 将数组tar中的键/值倒置

确定数组大小和唯一性
1.integer const(arr[,mode]) 返回数组arr的值总数。如果mode=1则可返回多维数组的值总数
2.array array_count_values(arr) 返回数组arr中的值的出现频率
3.array array_unique(arr) 删除数组arr中的重复值

数组排序
1.void sort(arr [,flag]) 对数组arr进行升序排序。注:排序后键/值不再对应
2.void natsort(arr) p1,p10,p2,p3 >>> p1,p2,p3,p10
3.void natcasesort(arr) 同natsort,但这个不区分大小写
4.void rsort(arr [,flag]) 同sort,这个降序排列。
5.void asort(arr [,flag]) 同sort,只是这个键/值对应
6.boolean array_multisort(arr,arg...) 同时对多个键/值进行排序
7.void arsort(arr [,flag]) 同rsort,但这个键/值对应
8.integer ksort(arr [,flag]) 按数组arr键进行升序排序
9.integer krsort(arr [,flag]) 按数组arr键进行降序排序
10.void usort(arr,cb) 按自定义函数cb的规则对arr排序

合并、拆分、接合、分解数组
1.array array_combine(keys,values) 使用两个数组的值,组成一个键/值对应的数组
2.array array_merge(arr,arr.....) 合并多个数组,对相同的键值进行覆盖
3.array array_merge_recursive(arr,arr...) 合并多个数组,对相同的键生成一个子数组
4.array array_slice(arr,offset [,length]) 返回一个在数组arr中指定部分的数组
5.array array_splice(input,offset,length,repl) 删除数组中指定的部分,并返回删除的部分
6.array array_intersect(arr,arr...) 返回多个数组中都存在的值
7.array array_intersect_assoc(arr,arr...) 返回多个数组中都存在的键/值
8.array array_diff(arr1,arr2...) 返回在数组arr1中存在,在其他数组中不存在的值
9.array array_diff_assoc(arr1,arr2...) 返回在数组arr1中存在,在其他数组中不存在的键/值

其他函数
1.mixed array_rand(arr[,num]) 随机返回一个数组arr中的键/值
2.void shuffle(arr) 把数组arr中的内容重新打乱
3.mixed array_sum(arr) 返回数组arr中所有值得累加值
4.array array_chunk(arr,size,key) 把数组arr分解成一个多维数组