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

 更新时间:2018年03月12日 10:01:44   作者:豆蔻词工难赋深情  
下面小编就为大家分享一篇PHP重置数组为连续数字索引的几种方式总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
如果你想靠AI翻身,你先需要一个靠谱的工具!

比如这样的一个php数组:

1
2
3
4
5
$arr = array(
  1 => 'apple',
  3 => 'banana',
  5 => 'orange'
);

想要转换为这样的数组:

1
2
3
4
5
$arr = array(
  0 => 'apple',
  1 => 'banana',
  2 => 'orange'
);

1、推荐的方式 array_values 方法

这样方式无论对普通数组还是关联数组都适用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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));

输出结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost php]# php array.php 
Array
(
  [0] => apple
  [1] => banana
  [2] => orange
)
Array
(
  [0] => jerry
  [1] => 16
  [2] => 18cm
)

2、使用 array_merge 方法

该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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));

输出结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost php]# php array.php 
Array
(
  [0] => apple
  [1] => banana
  [2] => orange
)
Array
(
  [name] => jerry
  [age] => 16
  [height] => 18cm
)

3、循环遍历

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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重置数组为连续数字索引的几种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:http://blog.csdn.net/zhang197093/article/details/78606916

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

最新评论