使用array_merge()合并数组,键值重新索引

一、遇到的问题

使用array_merge()合并数组,键值重新索引了

二、解决

在 PHP 的 array_merge() 函数中,当数组的键是整数时,会重新索引数组。但是,并不会将键值重新排序。

array_merge() 函数会按照参数的顺序将数组合并到结果数组中,并为新数组的整数键分配递增的连续索引值。

以下是一个示例:

$array1 = array(1 => 'a', 2 => 'b'); $array2 = array(3 => 'c', 4 => 'd'); $result = array_merge($array1, $array2); print_r($result);

输出结果为:

Array ( [0] => a [1] => b [2] => c [3] => d )

可以看到,数组的整数键已被重新索引,并按照从 0 开始的连续整数进行分配。

方案一:如果你希望保留原始的整数键值不被重新索引,可以考虑使用 + 运算符来合并数组:

$array1 = array(1 => 'a', 2 => 'b'); $array2 = array(3 => 'c', 4 => 'd'); $result = $array1 + $array2; print_r($result);

输出结果为:

Array ( [1] => a [2] => b [3] => c [4] => d )

使用 + 运算符合并数组时,如果两个数组具有相同的键名,保留第一个数组中的键值。

方案二:把整型数组转为字符串后再使用array_merge()

相关推荐
G佳伟1 小时前
yii2添加新的modules完为什么访问的时候报错404
php
亿坊电商11 小时前
在PHP框架里如何进行数据库连接?
数据库·oracle·php
Q_Q51100828512 小时前
python基于web的汽车班车车票管理系统/火车票预订系统/高铁预定系统 可在线选座
spring boot·python·django·flask·node.js·汽车·php
WordPress学习笔记13 小时前
安装WordPress时没生成wp-config.php的解决方法
php·wp-config
浪裡遊14 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
notillusion19 小时前
KWW#71843
java·php·程序优化
notillusion19 小时前
TRX#22597
java·php·程序优化
、花无将20 小时前
PHP:下载、安装、配置,与apache搭建
android·php·apache
Q_Q51100828521 小时前
python+django/flask婚纱摄影拍照管理系统
spring boot·python·django·flask·node.js·php
APItesterCris1 天前
TypeScript 与淘宝 API:构建类型安全的商品数据查询前端 / Node.js 服务
开发语言·php