Chinaunix首页 | 论坛 | 博客
  • 博客访问: 336373
  • 博文数量: 206
  • 博客积分: 1040
  • 博客等级: 少尉
  • 技术积分: 1756
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-09 17:22
文章分类

全部博文(206)

文章存档

2015年(3)

2014年(147)

2013年(2)

2012年(54)

我的朋友

分类:

2012-05-11 12:08:27

原文地址:PHP数组函数 作者:jiajiaquanzxc

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分解成一个多维数组

阅读(377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~