您的位置:首页 > 编程语言 > PHP开发

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

2018-03-12 10:01 441 查看

比如这样的一个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 重置 数组 索引