入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2017-11-22 投稿人: 浏览次数:110

比如这样的一个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));

That‘s it!



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。