当前位置:首页 > PHP教程 > php应用 > 列表

PHP常用数组函数介绍

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-26 10:20:25 浏览: 评论:0 

编程怎么能少的了数组呢,以下是学习PHP时常用的数组处理函数。在编程中要遵循一个原则就是DRY(Don`t Repeat Yourself)原则,PHP中有大量的函数,都记住这些函数不太现实,但常用的函数还是要熟练使用的,大部分的函数的使用方法可以通过查询PHP的手册来使用。

在编程中查手册是少不了的,所以要会学着使用已有的东西,就如PHP中的数组处理函数已经有排序函数了,为什么还要在写东西是费着劲去写冒泡或者堆排或者快排呢。

编程是间接的过程,也是重用的过程,要写出好的代码是少不了设计模式来做支撑的,可能对初学者来说学习设计模式有些吃力(就像我当初看设计模式时,真是有点费劲),不过等你的代码量有一定积累时,在研究设计模式时,感觉设计模式真的挺有用的,能帮助你写出漂亮的代码。说着说着有点跑偏了,还是来总结一下php中对数组操作的常用函数吧。

以下总结的数组常用的函数,可能有些读者会感觉有些少,众人拾柴火焰高吗,如果感觉还有其他常用的数组处理函数,给个评论留下呗,不要吝啬自己的知识嘛,和别人分享东西不是一件很快乐的东西吗。还有,下面的代码出自本人之手,不过是两年前写的代码了,欢迎大家批评指正。

array_splice() 删除数组中的指定元

array_splice(数组名,从前往后删的个数,new一个数组的大小);没有第三参数也就没有返数组,没有第三个参数时,第二个参数的意义为从前往后保留几个

exp:

  1. <?php 
  2.   $my_array=array(  //建立数组 
  3.     "hehe"=>"haha"
  4.     "A"=>"lu"
  5.     "lu"=>"ge" 
  6.   ); 
  7.   $new=array_splice($my_array,1,3);  //使用array_splice(数组名,从前往后删的个数,new一个数组的大小); 
  8.   var_dump($new); 
  9. ?> 

结果:array(2) { ["A"]=> string(2) "lu" ["lu"]=> string(2) "ge" }

2、foreach()数组的遍历

用法:foreach(数组 as 键名=>键值)或foreach(数组 as 键值)

exp:

  1. <?php 
  2.   $my_array=array(  //建立数组 
  3.     "hehe"=>"haha"
  4.     "A"=>"lu"
  5.     "lu"=>"ge" 
  6.   ); 
  7.   foreach($my_array as $key=>$value
  8.   { 
  9.     echo $key."=>".$value."<br/>"
  10.   } 
  11. ?> 

输出结果:

  1. hehe=>haha 
  2.  
  3. A=>lu 
  4.  
  5. lu=>ge 

3、数组的排序

(1)sort()和rsort()    按键值排序sort()从小到大,rsort()从大到小

sort ()   exp :  

  1. <?php 
  2.   $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 
  3.   sort($my_array); 
  4.   foreach($my_array as $keys=>$value
  5.   { 
  6.     echo $keys."=>".$value."<br/>"
  7.   } 
  8. ?> 

输出结果:

  1. 0=>1 
  2.  
  3. 1=>2 
  4. 2=>3 
  5. 3=>4 
  6. 4=>5 
  7. 5=>6 
  8. 6=>7 
  9. 7=>8 
  10. 8=>9 

rsort() exp:

  1. <?php 
  2.   $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 
  3.   rsort($my_array); 
  4.   foreach($my_array as $keys=>$value
  5.   { 
  6.     echo $keys."=>".$value."<br/>"
  7.   } 
  8. ?> 

输出结果:

  1. 0=>9 
  2. 1=>8 
  3. 2=>7 
  4. 3=>6   
  5. 4=>5 
  6. 5=>4 
  7. 6=>3 
  8. 7=>2 
  9. 8=>1 

(2).asort()和arsort()和上面的原理一样,不过不改变键名和键值的对应关系

exp:

  1. <?php 
  2.   $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 
  3.   asort($my_array); 
  4.   foreach($my_array as $keys=>$value
  5.   { 
  6.     echo $keys."=>".$value."<br/>"
  7.   } 
  8. ?> 

输出结果:

  1. 0=>1 
  2. 1=>2 
  3. 2=>3 
  4. 7=>4 
  5. 8=>5 
  6. 3=>6 
  7. 4=>7 
  8. 5=>8 
  9. 6=>9 

(3)ksort()和krsort()是按键名的大小排序

4.数组的数学类函数

array_sum()计算数组的所有键值的和  count()计算元素的个数

exp:

  1. <?php 
  2.   $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 
  3.   echo array_sum($my_array); 
  4. ?> 

输出结果:45

5.其他函数

array_unique() 去除数组中的相同元素

in_array()检测一个值是否在数组中(返回true和false)

array_search()返回的是键或值,返回的是键值所对应的键名

shuffle()打乱原有的数组

  1. <?php 
  2.   $my_array=array(1,2,3,6,7,8,9,4,5,5,5,5);//建立数组 
  3.   array_unique($my_array);//去除数组中的相同元素 
  4.   var_dump($my_array); 
  5.   echo "<br/>"
  6.   echo in_array(5,$my_array); 
  7.   echo "<br/>"
  8.   $new=array_search(6,$my_array);//返回的是键值所对应的键名 
  9.   echo $new
  10. ?> 

输出结果:

  1. array(12) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(6) [4]=> int(7) [5]=> int(8) [6]=> int(9) [7]=> int(4) [8]=> int(5) [9]=> int(5) [10]=> int(5) [11]=> int(5) }  

Tags: PHP数组函数

分享到: