php - 如何组合两个数组而不覆盖键
问题描述
我有两个具有相同键的数组。如何在不覆盖第一个数组的键的情况下组合这两个数组。
我尝试使用array_merge()
功能,+
操作
这是两个数组:
Array ( [1] => 1 ) Array ( [1] => 0 )
我希望输出像
array( [1] => 1 , [1] => 0)
解决方案
数组中不能有重复的键。
您可以做的是使用不同的键构建一个对象数组:0、1、2、3、4 等。但是使用子对象可以访问相同的对象属性。
// for istance in this case you end up having an array
// with 5 objects with a property named "key" with a value
$arrayOfObjects = [];
$arrayOfObjects[] = (object)["key"=>"value0"];
$arrayOfObjects[] = (object)["key"=>"value1"];
$arrayOfObjects[] = (object)["key"=>"value2"];
$arrayOfObjects[] = (object)["key"=>"value3"];
$arrayOfObjects[] = (object)["key"=>"value4"];
// to return the value $arrayOfObjects[4]->key
推荐阅读
- delphi - Delphi - 如何实现自定义超时
- react-native - 如何将菜单列表从 API 传递给 Custom DrawerNavigator?
- media - Hoy 为 Xenforo 中的某些媒体类别添加 noindex 标签
- javascript - 当点不显示时如何将菜单按钮转换为白色?
- node.js - 带有节点 XADD 的 Redis 流
- c++ - 如何使用 mingw-w64 构建具有链接时间优化的 Qt?
- xml - 检索添加到项目的自定义字段中的值列表
- java - 使用 Spring Boot 禁用 AppClassLoader AspectJ 日志记录
- python - sys.stdin.readline() vs input():它们需要的内存有区别吗?
- asp.net - 通过 dynatrace 进行 Ping 操作?