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)); 

以上这篇PHP重置数组为连续数字索引的几种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • 判断php数组是否为索引数组的实现方法
  • PHP遍历数组的几种方法
  • php遍历数组的4种方法总结
  • PHP遍历数组的方法汇总
(0)

相关推荐

  • 判断php数组是否为索引数组的实现方法

    HP没有内置判断是否索引数组的方法,简单实现了一个,用法: 复制代码 代码如下: echo is_assoc($array)?'索引数组':'不是索引数组'; is_assoc函数如下: 复制代码 代码如下: function is_assoc($array) {        if(is_array($array)) {            $keys = array_keys($array);            return $keys != array_keys($keys);   

  • PHP遍历数组的几种方法

    PHP中遍历数组有三种常用的方法: 一.使用for语句循环遍历数组: 二.使用foreach语句遍历数组: 三.联合使用list().each()和while循环遍历数组. 这三种方法中效率最高的是使用foreach语句遍历数组.从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用.先分别介绍这几种方法. 一.使用for语句循环遍历数组 值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组.PHP中不仅有关联数组而且还有索引数组,所以PH

  • php遍历数组的4种方法总结

    在php中可以用来遍历数组的函数有很多,如有:for语句.list.each.foreach这四个函数,这也是在php中遍历数组的几个主要的函数,下面我来给大家介绍. foreach遍历数组 我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数.这里先介绍foreach遍历数组函数的用法. 结构形式: 复制代码 代码如下: foreach ( array_expression as $value ) statement /* array_expression

  • PHP遍历数组的方法汇总

    今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出 第一.foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. <?php $urls= array('aaa','bbb','ccc','ddd'); foreach ($urls as $url){ echo "This Site url is $url! <br />"; } ?> 显示结果: This Site url i

  • 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 =>

  • Python划分数组为连续数字集合的练习

    目录 1.问题描述 2.解决方案 3.结语 本文转自微信公众号:"算法与编程之美" 1.问题描述 给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合. 如果可以,请返回 True:否则,返回 False. 示例 1: 输入:nums = [1,2,3,3,4,4,5,6], k = 4 输出:true 解释:数组可以分成 [1,2,3,4] 和 [3,4,5,6]. 示例 2: 输入:nums = [3,2,1,2,3,4,3

  • PHP二维索引数组的遍历实例分析【2种方式】

    本文实例讲述了PHP二维索引数组的遍历.分享给大家供大家参考,具体如下: 二维索引数组的遍历方式,话不多说,直接看代码. 实例一. <?php $arr = array(//定义外层数组 array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1 array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2 array(3,'峰某','C公司','天津市',

  • PHP无限分类代码,支持数组格式化、直接输出菜单两种方式

    复制代码 代码如下: <?php /** +------------------------------------------------ * 通用的树型类 +------------------------------------------------ * @author yangyunzhou@foxmail.com +------------------------------------------------ * @date 2010年11月23日10:09:31 +-------

  • 实现点击列表弹出列表索引的两种方式

    方式一,使用利用事件冒泡委托给列表的父节点去处理的方式: 复制代码 代码如下: var ulObj = document.getElementById("myUl"); ulObj.onclick = function (event) { var tg = event.target; var liArray = ulObj.getElementsByTagName("li"); for (var i = 0; i < liArray.length; i++)

  • ASP.NET MVC使用Knockout获取数组元素索引的2种方法

    在遍历数组.集合的时候,通常要获取元素的索引,本篇体验使用Knockout获取索引的2种方法. 假设有这样的一个模型: namespace UseIndex.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } } 在HomeController中,先模拟一个Student的集合,在投影出Name属性的集合,最后以Json返回给前台视图. using Syste

  • python pandas创建多层索引MultiIndex的6种方式

    目录 引言 pd.MultiIndex.from_arrays() pd.MultiIndex.from_tuples() 列表和元组是可以混合使用的 pd.MultiIndex.from_product() pd.MultiIndex.from_frame() groupby() pivot_table() 引言 在上一篇文章中介绍了如何创建Pandas中的单层索引,今天给大家带来的是如何创建Pandas中的多层索引. pd.MultiIndex,即具有多个层次的索引.通过多层次索引,我们就可

  • JavaScript实现找出数组中最长的连续数字序列

    原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: function maxSequence(array,step){ var _array = array.slice(), //clone array _step = 1, _arrayTemp = [], i = 0; var parseLogic = { //result container parseRe

  • php求正负数数组中连续元素最大值示例

    php实现正负数数组最大子序列,要求给出数组,该数组由正负数字组成,找出该数组中连续元素组成的子数组的最大值.这其实得算是个背包变种吧. 复制代码 代码如下: <?php$list = array(1,-3,-5,-7,8,9,-11,5); $cur = 0;$term = 0;$res = 0;$begin = 0; foreach($list as $k => $v){ $cur += $v; if($cur < 0){  $cur = 0;  $begin = $k + 1; }

  • 正则表达式实现匹配连续数字的方法

    实现的要求如下: 纯数字 5-7位之间 前三位相同 从第四位开始连续 如下面的例子: 11123 #正确 22234 #正确 33345 #正确 333456 #正确 2223456 #正确 0001234 #正确 00012345 #错误:此行长度超标 000234 #错误:第3位与第4位不连续 111235 #错误:第5位和第6位不连续 1.匹配三位相同数字 (\d)\1{2} 2.匹配连续数字 匹配连续数字可以通过零宽断言来匹配,当然也没什么好办法,只能通过列举,如下两行都可以匹配3位连续

随机推荐