PHP数组吐血级操作方法(数组排序…

来源:互联网 发布:id解锁软件 编辑:程序博客网 时间:2024/06/05 16:04

PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活;数组array是一组有序的变量,其中每个变量被叫做一个元素。数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值。下面是数组的相关操作方法...

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

原创粉丝点击