1.count()
1 <?php
2 /*count()函数统计数组中元素个数*/
3 $student=array(
4 array('name'=>'wang','age'=>18),
5 array('name'=>'lee','age'=>20)
6 );
7
8 echo count($student);//非递归2
9 echo count($student,1);//递归6
10 ?>
2.array_count_values()和array_unique()
1 <?php
2 /*array_count_values()统计数组中值重复的次数,返回一个数组,键代表值名,值是重复次数*/
3 $a=array(1,1,1,'hello','hello','mike');
4 print_r(array_count_values($a));//Array ( [1] => 3 [hello] => 2 [mike] => 1 )
5
6
7 /*array_unique()删除数组中重复的值,只保留第一次出现的键名*/
8 print_r(array_unique($a));//Array ( [0] => 1 [3] => hello [5] => mike )
9 ?>
3.array_filter()
1 <?php
2 /*array_filter()传入一个函数名字符串,用该函数对数组进行过滤,返回true就保留,否则删除*/
3
4 $a=array(1,2,3,4,5,6,7,8,9,10);
5
6 function myfun($i){
7 if($i%2==0) return true;
8 else return false;
9 }
10
11 print_r(array_filter($a,'myfun'));
12 ?>
4.array_walk()
1 <?php
2 /*array_walk()*/
3 /*第一个参数是一个数组的引用*/
4 /*第二个参数是一个回调函数,array_walk()依次将每一个值和键作为第一个第二个参数传入*/
5 /*如果回调函数还有第三各参数,则可以在array_walk()第三个参数传入*/
6
7 function test($value,$key,$i)
8 {
9 echo "key: ".$key.$i.$value."<br>";
10 }
11
12 $a=array(1,2,3,4,5,6);
13 array_walk($a,'test','relation to value:');
14
15 ?>
5.sort()和asort()
1 <?php
2 /*sort()传入一个数组的引用,将数组按值升序排列*/
3
4 $a=array(3,7,9,1,2,3,10);
5 sort($a);
6 print_r($a);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 3 [4] => 7 [5] => 9 [6] => 10 )
7
8 /*如果是字母则按字母的ASCLL值升序排列*/
9 $b=array('arr','cada','a','fsfafsj');
10 sort($b);
11 print_r($b);//Array ( [0] => a [1] => arr [2] => cada [3] => fsfafsj )
12
13 /*rsort()函数与sort()相反 */
14 rsort($a);
15 print_r($a);//Array ( [0] => 10 [1] => 9 [2] => 7 [3] => 3 [4] => 3 [5] => 2 [6] => 1 )
16
17 rsort($b);
18 print_r($b);//Array ( [0] => fsfafsj [1] => cada [2] => arr [3] => a )
19
20
21 /*asort()与sort()相似,但保留原始的键值关系*/
22
23 asort($a);print_r($a);//Array ( [6] => 1 [5] => 2 [4] => 3 [3] => 3 [2] => 7 [1] => 9 [0] => 10 )
24 ?>
6.ksort()
1 <?php
2 /*ksort()函数根据键对数组进行升序排列*/
3 $a=array(3=>'three',1=>'one',7=>'seven',2=>'two');
4 ksort($a);
5 print_r($a);//Array ( [1] => one [2] => two [3] => three [7] => seven )
6 ?>
7.自定义排序
1 <?php
2 /*usort()函数可以传入一个函数名字符串,用该函数决定排列方式*/
3
4 $a=array('asasas','asgsudg','asgsqyg','aaaaaaaaaaaa','sada');
5
6 function len($a,$b)
7 {
8 if(strlen($a)>strlen($b)) return 1;
9 else if(strlen($a)<strlen($b)) return -1;
10 else return 0;
11 }
12 usort($a,'len');
13 print_r($a);
14
15 /*同理也可以使用uasort()和uksort()*/
16 ?>