分类:
2008-08-26 22:16:16
php索引以0开始
$a=array(0=>"a",1=>"b");
$a=array("a"=>"A","b"=>"B");
调用:$a["a"]
多维数组:$a=array("a"=>array("a1"=>"A1","a2"=>"A2"))
输出数组
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分解成一个多维数组