首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你如何在PHP中重新索引数组?

在PHP中重新索引数组,可以使用以下方法:

  1. 使用 array_values() 函数:
代码语言:php
复制
$array = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$new_array = array_values($array);
print_r($new_array);

输出:

代码语言:txt
复制
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
  1. 使用 array_combine()range() 函数:
代码语言:php
复制
$array = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$keys = range(0, count($array) - 1);
$new_array = array_combine($keys, $array);
print_r($new_array);

输出:

代码语言:txt
复制
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
  1. 使用 foreach 循环:
代码语言:php
复制
$array = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$new_array = array();
foreach ($array as $value) {
    $new_array[] = $value;
}
print_r($new_array);

输出:

代码语言:txt
复制
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

这些方法都可以用来重新索引数组,您可以根据自己的需求选择合适的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel基于XunSearch的中文搜索解决方案

本篇文章就来说一下,如何在Laravel中使用XunSearch。...以下步骤我们分为服务器端安装XUNSearch,以及在PHP代码端连接服务,新建索引以及搜索,还有如何自动添加新的索引。...,并且toArray转换为数组(也必须转换为数组),然后将该数组传进addIndex()方法里面就行。...我详细说一下,数组里面是的字段和在config/xunsearch.php 配置的字段是一致的。 ? 如上,数组里面必须有这配置文件里面写的字段名。...然后上面代码的setDatabase('referrers')可以不写,就是默认的;写了的话,那么在配置文件里面就必须有对应的配置。如上图的referrers。 那么,如何看索引成功没有?

2.8K00

php面试题(2)

mysql_fetch_row()把数据库的一列储存在一个以零为基数的数组,第一栏在数组索引0,第二栏在索引1,依此类推。...mysql_fetch_assoc()把数据库的一列储存在一个关联数组数组索引就是字段名称,例如我的数据库查询送回 “first_name”、“last_name”、“email”三个字段,数组索引便是...请写出并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?...第三,常用的查询字段建立联合索引,写SQL一定要尊从最左原则,用到这个索引。 第四,不要把逻辑运算放到sql里。言外之意是,不要写太复杂的SQL,能写复杂的SQL 肯定也能通过PHP实现。...PHP用数字索引和STRING索引差别还是很大的 MYSQL主从服务器,如果主服务器是innodb引擎,从服务器是myisam引擎,在实际应用,会遇到什么问题?

2.5K20

何在JavaScript中使用for循环

每当循环语句在一个集合的项循环时,我们称之为一个「迭代」。 有两种方式可以访问集合的项。第一种方式是通过它在集合的键,也就是数组索引或对象的属性。...数组的有序迭代 由于使用for...in循环时不能保证迭代索引顺序,如果有必要保持顺序,建议不要迭代数组。...举例来说,如果有一个包含四项的数组索引3的位置插入了一项,在现代浏览器,for...in循环仍然会按照从0到4的顺序遍历数组。...for循环的替代方案 forEach在JavaScript数组原型的一个方法,它允许我们在回调函数遍历数组的元素和它们的索引。...举例来说,下面的语句使用forEach迭代arr变量,并在console打印value: arr.forEach((value) => console.log(value)); 也可以访问数组索引

5K10

PHP 数组索引数组与关联数组

在静态语言(C、Java、Go)数组的定义通常是同一类型数据的连续序列,PHP数组从功能角度来说更加强大,可以包含任何数据类型,支持无限扩容,并且将传统数组和字典类型合二为一,在 PHP ,传统的数组对应的是索引数组...可以看到,PHP 数组并没有自动重新编排索引,而是留出了一个「空洞」,打印 var_dump($fruits[1]) 将会报错,提示对应元素值不存在: ?...如果你想要获得重新编排索引的新数组,可以调用 PHP 内置数组函数 array_values 来实现: $fruits = array_values($fruits); 再通过 print_r($fruits...2、关联数组 基本使用 PHP 没有字典(map/dict)这种数据类型,而是将其融入到数组以关联数组的方式提供支持,与索引数组不同,关联数组通常需要显式指定数组元素的键,还是以「Laravel 精品课...如果PHP 数组底层实现感兴趣,可以参考这篇教程:https://xueyuanjun.com/post/20996。

5.7K20

3分钟短文 | PHP 数组删除元素,忘了foreach吧,有更优雅的方式

引言 PHP数组,说白了就是一个映射的键值对集合。那么如何从数组元素删除元素呢?肯定首先想到遍历数组,然后找到目标项,然后删除。...就是拿到的是值,却不知道其索引,就要用这个了。 unset 函数 请注意,使用 unset 函数不会重新构建索引数组不会洗牌。...如果你想要在删除元素后重新创建索引,那就执行 array_values,返回的数组就是重新编排过索引的了。并且所有索引被设置成默认从0开始的数字。...$length = 0[, mixed $replacement]] ) 用来把数组的一部分去掉并用其它值取代 。...如果最后的参数 replaement 不传,就是默认为把 offset 开始的 如果是数字索引,返回的数组重新编排索引值: $array = [0 => "a", 1 => "b", 2 => "c

3.9K30

常见PHP面试题型汇总(附答案)

进入公司之前,会有一两轮的面试与笔试,做我们这个行业的都是这样,所以除了口语表达能力(能吹)之外,还有一点就是实力能力的,这个也是的面试题所要体现的。面试题的题型很多,但是都是离不开PHP基础的。...redis是个考点 1、缓存技术是将动态内容缓存到文件,在一定时间内访问动态页面直接调用缓存文件,而不必重新访问数据库。 2、使用memcache可以做缓存。...以降序对关联数组进行排序 krsort() - 根据键,以降序对关联数组进行排序 21、建立索引 (普通索引)-> 创建:CREATE INDEX ON tablename (索引字段) 修改...生成另一个一次性的令牌并将其嵌入表单,保存在会话(一个会话变量),在提交时检查它。 laravel的 _token代码注入:代码注入是利用计算机漏洞通过处理无效数据造成的。...如许多PHP函数,require可以包含URL或文件名。防止代码注入 过滤用户输入 在php.ini设置禁用allow_url_fopen和allow_url_include。

2.8K20

面试题(三)

PHP7的新特性?重点 标量类型声明: PHP 7 的函数的形参类型声明可以是标量了。...,PRIMARY KEY[索引字段]) PHP支持多继承吗? 不支持。PHP只允许单继承,父类可以被一个子类用关键字“extends”继承。...如果没有过滤就输出数据到另一个web页面,这个脚本将被执行。 防止:为了防止XSS攻击,使用PHP的htmlentities()函数过滤再输出到浏览器。...生成另一个一次性的令牌并将其嵌入表单,保存在会话(一个会话变量),在提交时检查它。laravel的 _token 代码注入:代码注入是利用计算机漏洞通过处理无效数据造成的。...如许多PHP函数,require可以包含URL或文件名。 防止代码注入 过滤用户输入 在php.ini设置禁用allow_url_fopen和allow_url_include。

2.4K10

Go 语言基础入门教程 —— 数据类型篇:字典类型及其基本使用

字典定义 有 PHP 基础的同学都应该知道,PHP 数组包含索引数组和关联数组PHP 索引数组即对应 Go 语言的数组和切片类型,PHP 的关联数组即对应 Go 语言中的字典类型(map),所谓字典...,其实就是存储键值对映射关系的集合,只不过对于强类型的 Go 语言来说,与 PHP 关联数组的不同之处在于需要在声明时指定键和值的类型,此外 Go 字典是个无序集合,底层不会像 PHP 那样按照元素添加顺序维护元素的存储顺序...下面我们通过一个简单的示例来看看如何在 Go 语言中使用字典这种数据类型: var testMap map[string]int testMap = map[string]int{ "one":...,返回 true,否则返回 false,配合 := 操作符,让的代码没有多余成分,看起来非常清晰易懂。...注:Go 语言中的字典和 PHP 关联数组一样,底层都是通过哈希表实现的,添加键值对到字典时,实际是将键转化为哈希值进行存储,在查找时,也是先将键转化为哈希值去哈希表查询,从而提高性能,但是哈希表存在哈希冲突问题

1.1K30

面试题(四)

PHP7的新特性?重点 标量类型声明: PHP 7 的函数的形参类型声明可以是标量了。...,PRIMARY KEY[索引字段]) PHP支持多继承吗? 不支持。PHP只允许单继承,父类可以被一个子类用关键字“extends”继承。...如果没有过滤就输出数据到另一个web页面,这个脚本将被执行。 防止:为了防止XSS攻击,使用PHP的htmlentities()函数过滤再输出到浏览器。...生成另一个一次性的令牌并将其嵌入表单,保存在会话(一个会话变量),在提交时检查它。laravel的 _token 代码注入:代码注入是利用计算机漏洞通过处理无效数据造成的。...如许多PHP函数,require可以包含URL或文件名。 防止代码注入 过滤用户输入 在php.ini设置禁用allow_url_fopen和allow_url_include。

2.2K20

PHP7数组的底层实现示例

数据结构 PHP 数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。...PHP 数组的底层实现是散列表(也叫 hashTable ),散列表是根据键(Key)直接访问内存存储位置的数据结构,它的key – value 之间存在一个映射函数,可以根据 key 通过映射函数得到的散列值直接索引到对应的...,:arr[] = 1;arr["a"] = 2;arr[] = 3; 则nNextFreeElement = 2; dtor_func_t pDestructor; }; 该结构的 Bucket...如果未达到阈值,PHP 则会申请一个大小是原数组两倍的新数组,并将旧数组的数据复制到新数组,因为数组长度发生了改变,所以 key-value 的映射关系需要重新计算,这个步骤为重建索引。...因为 value 在 Bucket 位置移动了或哈希数组 nTableSize 变化了导致 key 与 value 的映射关系改变,重建过程就是遍历 Bucket 数组的 value,然后重新计算映射值更新到散列表

1.6K20

PHP核心技术经典面试题

mysql_fetch_row()把数据库的一列储存在一个以零为基数的数组,第一栏在数组索引0,第二栏在索引1,依此类推。...mysql_fetch_assoc()把数据库的一列储存在一个关联数组数组索引就是字段名称,例如我的数据库查询送回“first_name”、“last_name”、“email”三个字段,数组索引便是...24.请写出并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?...> 32.PHP,如何获得一个数组的键值?(酷讯) 使用key()可以获得数组当前元素的键名,使用current()则可以返回当前元素的值。...可以通过上传的文件名获取到文件后缀,然后使用时间戳+随机数+文件后缀的方式为文件重新命名,这样就避免了重名。 51._____函数能返回脚本里的任意行调用的函数的名称。

2.7K30

3分钟短文 | PHP数组获取最后一个元素,10个方式哪个有错?

引言 我们对于 PHP数组操作乐此不疲,为什么?因为 PHP 编程几乎时时刻刻都在于数组打交道,对于数组的操作熟练程度,很大一部分因素关系着代码的优劣。 ?...不要小看这个需求,没准儿还做不对呢 :) 学习时间 如果首先想到了 array_pop,那很不幸,这个函数可以获取最后一个元素,却把数组更改了。...然后使用 array_values 重新编排索引值。因为数组只有一个元素,那么索引值必然是 0。原数组 array 毫发无损。...$x = end((array_values($array))); 第六种方法,严格地为了返回最后一个元素的值,使用 array_values 进行了索引重新编排。...赋值给原数组 array[],这会对关联数组重新排定索引,所以有副作用。

3K10

PHP 数组使用之道

,array_values() 函数会以索引数组形式返回数组的值,array_keys() 则会返回给定数组的键名, 以及 array_flip() 函数,它的功能则是交换数组的键值和键名: <?...而通过使用 extract() 函数,可以将关联数组导出到变量(符号表)。对数组的各个元素,将会以其键名作为变量名创建,变量的值则为对应元素的值: 1] 可以使用 array_unique() 函数用于从数组获取唯一值元素。...数组遍历处理 通过使用 array_map(),可以对数组的每个元素执行回调方法。可以基于给定的数组传入函数名称或匿名函数来获取一个新数组: <?...php $bind = array_fill(0, 5, '?'); print_r($bind); 根据范围创建数组小时或字母,可以使用 range() 函数: <?

1.1K20

涨见识| 字节PHPGolang社招面经

一面(约1h) 在面对未知的流量暴增,可以预先怎么处理 如何限流,限流算法,对于ddos攻击怎么处理 PHP数组的底层实现 分布式事务 RPC相对于传统的API调用的优点...服务调度中心的感知与动态上下线 MySQL的索引,为什么是B+而不是平衡二叉树 索引查找在Linux的磁盘上是怎么操作的 聚簇索引相对于B+索引的优点 如何分析SQL执行慢的原因...,如何在内存使用小于8M的情况下进行排序 设计题:以微博为例,有1个亿的用户,同时用户之间有关注和粉丝,用户的关注和取关操作比较频繁,如何设计架构和API接口 二面(约1.5h) 二面主要以自己的项目为切入点...,进一步考察对项目中知识点的把握程度,我这里是以一个 自己撸的小项目 进程管理工具 为项目背景 守护进程是什么,怎么实现 PHP是否适合做守护进程,为什么(内存管理这一块) PHP的垃圾回收机制...如何快速判断某个数是否存在于这个二维坐标 面试题:设计一个定时任务管理器(从我同事那打听到的,我只有上面一个算法题) Hr面(约0.5h) hr小姐姐:有什么心仪的公司吗 我:大厂,类似于BAT

1.1K20

字节跳动php面试题(二)

阅读量: 106 一面(约1h) 在面对未知的流量暴增,可以预先怎么处理 如何限流,限流算法,对于ddos攻击怎么处理 PHP数组的底层实现 分布式事务 RPC相对于传统的API调用的优点 服务调度中心的感知与动态上下线...Redis有哪些结构时间复杂度较高 Redis hash的实现 算法题: 在1个10G大小的文件,存储的都是int型的数据,如何在内存使用小于8M的情况下进行排序 设计题: 以微博为例,有1个亿的用户...进程管理工具为项目背景 守护进程是什么,怎么实现 PHP是否适合做守护进程,为什么(内存管理这一块) PHP的垃圾回收机制 进程间通信方式 共享内存是怎么实现的 怎么查看Linux服务器的负载,及判断哪些操作引起的负载过高...如何快速判断某个数是否存在于这个二维坐标 面试题:设计一个定时任务管理器(从我同事那打听到的,我只有上面一个算法题) Hr面(约0.5h) hr小姐姐:有什么心仪的公司吗 我:大厂,类似于BAT这种...hr小姐姐:跟我在北京面的其他候选人都不太一样啊,他们都不屑于去这些公司,感觉想进就进,他们比较倾向于滴滴,头条这些年轻,发展比较快速的公司 我:卒。。。

78920

字节跳动php面试题(四)

数组的底层实现 分布式事务 RPC相对于传统的API调用的优点 服务调度中心的感知与动态上下线 MySQL的索引,为什么是B+而不是平衡二叉树 索引查找在Linux的磁盘上是怎么操作的 聚簇索引相对于B...+索引的优点 如何分析SQL执行慢的原因 Redis连接时的connect与pconnect的区别 Redis有哪些结构时间复杂度较高 Redis hash的实现 算法题: 在1个10G大小的文件,存储的都是...int型的数据,如何在内存使用小于8M的情况下进行排序 设计题: 以微博为例,有1个亿的用户,同时用户之间有关注和粉丝,用户的关注和取关操作比较频繁,如何设计架构和API接口 二面(约1.5h) 二面主要以自己的项目为切入点...,进一步考察对项目中知识点的把握程度 守护进程是什么,怎么实现 PHP是否适合做守护进程,为什么(内存管理这一块) PHP的垃圾回收机制 进程间通信方式 共享内存是怎么实现的 怎么查看Linux服务器的负载...如何快速判断某个数是否存在于这个二维坐标 面试题:设计一个定时任务管理器(这是我朋友当面分享给我的,而我只有上面一个算法题) Hr面(约0.5h) hr小姐姐:有什么心仪的公司吗 我: 大厂,类似于

70630
领券