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


Posted in PHP onMarch 12, 2018

比如这样的一个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 相关文章推荐
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
php中创建和调用webservice接口示例
Jul 25 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
php mysql 封装类实例代码
Sep 18 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
php的4种常用运行方式详解
Dec 22 PHP
PHP中快速生成随机密码的几种方式
Apr 17 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
phpStudy 2016 使用教程详解(支持PHP7)
Oct 18 PHP
php关联数组与索引数组及其显示方法
Mar 12 #PHP
基于php数组中的索引数组和关联数组详解
Mar 12 #PHP
PHP生成加减算法方式的验证码实例
Mar 12 #PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 #PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 #PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 #PHP
Yii2 中实现单点登录的方法
Mar 09 #PHP
You might like
浅谈电磁辐射对健康的影响
2021/03/01 无线电
用php将任何格式视频转为flv的代码
2009/09/03 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
2011/10/09 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
python实现socket客户端和服务端简单示例
2014/02/24 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
Python发送邮件实现基础解析
2020/08/14 Python
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
智能电子应届生求职信
2013/11/10 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
青年文明号申报材料
2014/12/23 职场文书
2016年春节慰问信息
2015/03/25 职场文书
电话营销开场白
2015/05/29 职场文书
2016情人节宣传语
2015/07/14 职场文书
小学数学教学随笔
2015/08/14 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Ruby处理CSV数据方法详解
2022/04/18 Ruby
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js