PHP-数组小记(二)

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 ?>

 

转载于:https://www.cnblogs.com/patermenkey/p/8319979.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值