php 未定义数组索引_分享三种PHP重置数组为连续数字索引的方式

49a7476936c1cb5621b41563d867de66.png

比如这样的一个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.phpArray(    [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.phpArray(    [0] => apple    [1] => banana    [2] => orange)Array(    [name] => jerry    [age] => 16    [height] => 18cm)

3、循环遍历

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

<?phpfunction 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!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值