www.adminn.cn
站长正能量分享网!

PHP处理数组常用函数汇总

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

PHP中对数组的处理是最常用的必备技能之一。自己总结了一下几个最常用的处理数组的高级函数。

1. array_merge()

合并数组,将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,最后返回一个数组。

关联数组:有相同的字符串键名时,则该键名后面的值将覆盖前一个值.

索引数组:后面的值将不会覆盖原来的值,而是附加到后面

array array_merge (array array1 array2…,arrayN) 

例子:

  1. <?php   
  2. $a = array("a","b","c");   
  3. $b = array("1","2","3");   
  4. $c = array_merge($a$b);   
  5. print_r($c);   
  6.    
  7. // 输出结果 
  8. // Array ( [0] => a [1] => b [2] => c [3] => 1 [4] => 2 [5] => 3 )   
  9. ?> 

2. array_merge_recursive()

功能同array_merge(),只不过遇到相同值时处理方式不同.

关联数组:有相同的字符串键名时,则该键值变成一个数组,将相同键值放在一个数组里

例子:

  1. <?php   
  2. $a = array("a" => "123""b" => "yes");   
  3. $b = array("c" => "no""a" => "aaa");   
  4. $d = array_merge_recursive($a$b);   
  5. print_r($d);   
  6.    
  7. // 输出结果   
  8. // Array ( [a] => Array ( [0] => 123 [1] => aaa ) [b] => yes [c] => no )   
  9. ?>  

3. array_slice()

拆分索引数组,类似于substr()的用法, offset开始切,切length这么多个, 不设置length则是切到尾

array array_slice (array array, int offset[,int length]) 

例子:

  1. <?php   
  2.    
  3. $a = array("A""B""C""D""E""F""G");   
  4. $b = array_slice($a, 3);   
  5. print_r($b);   
  6.    
  7. // 输出   
  8. // Array ( [0] => D [1] => E [2] => F [3] => G )   
  9. ?>  

4. array_multisort()

返回排序数组:

array_multisort(array1,sorting order,sorting type,array2,array3…)

这个函数功能很强大,有几个用法:

直接进行排序

  1. <?php 
  2. $a1=array("Dog","Cat"); 
  3. $a2=array("Fido","Missy"); 
  4. array_multisort($a1,$a2); 
  5. print_r($a1); 
  6. print_r($a2); 
  7.  
  8. // Array ( [0] => Cat [1] => Dog ) Array ( [0] => Missy [1] => Fido ) 
  9. ?> 

设置排序方式进行排序

  1. <?php 
  2. /* 设置倒序正序 */ 
  3. $a1=array("Dog","Dog","Cat"); 
  4. $a2=array("Pluto","Fido","Missy"); 
  5. array_multisort($a1,SORT_ASC,$a2,SORT_DESC); 
  6. print_r($a1); 
  7. print_r($a2); 
  8.  
  9. // Array ( [0] => Cat [1] => Dog [2] => Dog ) Array ( [0] => Missy [1] => Pluto [2] => Fido ) 
  10.  
  11. /* 设置倒序正序,排序标准 */ 
  12. $a1=array(1,30,15,7,25); 
  13. $a2=array(4,30,20,41,66); 
  14. $num=array_merge($a1,$a2); 
  15. array_multisort($num,SORT_DESC,SORT_NUMERIC); 
  16. print_r($num); 
  17.  
  18. // Array ( [0] => 66 [1] => 41 [2] => 30 [3] => 30 [4] => 25 [5] => 20 [6] => 15 [7] => 7 [8] => 4 [9] => 1 ) 
  19. ?> 

二维数组根据某键值进行排序

  1. <?php 
  2. /* time为要排序字段, SORT_DESC降序排列, $all要排序的数组 */ 
  3. foreach ($all as $k => $v)  
  4.     $time[] = $v['time']; 
  5. array_multisort($time, SORT_DESC, $all); 
  6. ?> 

5. array_intersect()和array_intersect_assoc()

array_intersect()返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成。

array_intersect_assoc()返回一个在第一个数组中出现,且在所有其他输入数组中也出现的键/值对组成的数组。

应用场景: 共同好友推荐

  1. <?php   
  2. $a = array("Kevin","Mike","Jone");   
  3. $b = array("Jack","Kevin","Anna");   
  4. $c = array("Steven","Json","Kevin");   
  5. $output = array_intersect($a$b$c);   
  6. print_r($output);   
  7. //phpfensi.com 
  8. // output   
  9. // Array ( [0] => Kevin )   
  10. ?>  

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP处理数组常用函数汇总》
文章链接:https://www.adminn.cn/news/8442.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏