欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP重置数组为连续数字索引的几种方式 重置键

比如这样的一个php数组:

  1. $arr = array(  

  2.     1 => 'apple',  

  3.     3 => 'banana',  

  4.     5 => 'orange'  

  5. );  


想要转换为这样的数组:


  1. $arr = array(  

  2.     0 => 'apple',  

  3.     1 => 'banana',  

  4.     2 => 'orange'  

  5. );  


1、推荐的方式  array_values 方法


这样方式无论对普通数组还是关联数组都适用


  1. <?php  

  2.   

  3. $arr = array(  

  4.     1 => 'apple',  

  5.     3 => 'banana',  

  6.     5 => 'orange'  

  7. );  

  8.   

  9. print_r(array_values($arr));  

  10.   

  11. $arr1 = array(  

  12.     'name' => 'jerry',  

  13.     'age' => 16,  

  14.     'height' => '18cm'  

  15. );  

  16.   

  17. print_r(array_values($arr1));  



输出结果:


  1. [root@localhost php]# php array.php   

  2. Array  

  3. (  

  4.     [0] => apple  

  5.     [1] => banana  

  6.     [2] => orange  

  7. )  

  8. Array  

  9. (  

  10.     [0] => jerry  

  11.     [1] => 16  

  12.     [2] => 18cm  

  13. )  


2、使用 array_merge 方法


该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引

  1. <?php  

  2.   

  3. $arr = array(  

  4.     1 => 'apple',  

  5.     3 => 'banana',  

  6.     5 => 'orange'  

  7. );  

  8.   

  9. print_r(array_merge($arr));  

  10.   

  11. $arr1 = array(  

  12.     'name' => 'jerry',  

  13.     'age' => 16,  

  14.     'height' => '18cm'  

  15. );  

  16.   

  17. print_r(array_merge($arr1));  


输出结果:


  1. [root@localhost php]# php array.php   

  2. Array  

  3. (  

  4.     [0] => apple  

  5.     [1] => banana  

  6.     [2] => orange  

  7. )  

  8. Array  

  9. (  

  10.     [name] => jerry  

  11.     [age] => 16  

  12.     [height] => 18cm  

  13. )  


3、循环遍历


最原始的方式,臃肿且不够优雅,极力抵制。


  1. <?php  

  2.   

  3. function resetArr($arr){  

  4.     $temp = array();  

  5.     foreach($arr as $v){  

  6.         $temp[] = $v;  

  7.     }  

  8.     return $temp;  

  9. }  

  10.   

  11. $arr = array(  

  12.     1 => 'apple',  

  13.     3 => 'banana',  

  14.     5 => 'orange'  

  15. );  

  16.   

  17. print_r(resetArr($arr));  

  18.   

  19. $arr1 = array(  

  20.     'name' => 'jerry',  

  21.     'age' => 16,  

  22.     'height' => '18cm'  

  23. );  

  24.   

  25. print_r(resetArr($arr1));  


That‘s it!


来自  https://blog.csdn.net/zhang197093/article/details/78606916
普通分类: