首页  >  文章  >  后端开发  >  怎样做到php重置数组为连续数字索引

怎样做到php重置数组为连续数字索引

php中世界最好的语言
php中世界最好的语言原创
2018-05-18 13:45:471601浏览

这次给大家带来怎样做到php重置数组为连续数字索引,做到php重置数组为连续数字索引的注意事项有哪些,下面就是实战案例,一起来看一下。

比如这样的一个php数组

$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
);

想要转换为这样的数组:

$arr = array( 
  0 => 'apple', 
  1 => 'banana', 
  2 => 'orange' 
);

1、推荐的方式 array_values 方法

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

<?php 
$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
); 
print_r(array_values($arr)); 
$arr1 = array( 
  'name' => 'jerry', 
  'age' => 16, 
  'height' => '18cm' 
); 
print_r(array_values($arr1));

输出结果:

[root@localhost php]# php array.php  
Array 
( 
  [0] => apple 
  [1] => banana 
  [2] => orange 
) 
Array 
( 
  [0] => jerry 
  [1] => 16 
  [2] => 18cm 
)

2、使用 array_merge 方法

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

<?php 
 
$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
); 
 
print_r(array_merge($arr)); 
 
$arr1 = array( 
  'name' => 'jerry', 
  'age' => 16, 
  'height' => '18cm' 
); 
 
print_r(array_merge($arr1));

输出结果:

[root@localhost php]# php array.php  
Array 
( 
  [0] => apple 
  [1] => banana 
  [2] => orange 
) 
Array 
( 
  [name] => jerry 
  [age] => 16 
  [height] => 18cm 
)

3、循环遍历

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

<?php 
 
function resetArr($arr){ 
  $temp = array(); 
  foreach($arr as $v){ 
    $temp[] = $v; 
  } 
  return $temp; 
} 
 
$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
); 
 
print_r(resetArr($arr)); 
 
$arr1 = array( 
  'name' => 'jerry', 
  'age' => 16, 
  'height' => '18cm' 
); 
 
print_r(resetArr($arr1));

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

php操作字符串分割成数组

实现php合并数组并保留键值有哪些方法?

PHP实现防止SQL注入方法总结

以上是怎样做到php重置数组为连续数字索引的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn