您的位置 首页 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));  

That‘s it!

文章来源:智云一二三科技

文章标题:分享三种PHP重置数组为连续数字索引的方式

文章地址:https://www.zhihuclub.com/77277.shtml

关于作者: 智云科技

热门文章

网站地图