Rumah  >  Artikel  >  pembangunan bahagian belakang  >  怎样做到php重置数组为连续数字索引

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

php中世界最好的语言
php中世界最好的语言asal
2018-05-18 13:45:471596semak imbas

这次给大家带来怎样做到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注入方法总结

Atas ialah kandungan terperinci 怎样做到php重置数组为连续数字索引. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn