php - 将带有键的数组值添加到多维数组而不添加新的“层”
问题描述
我发现了几个类似的主题,但没有一个能准确回答我的需要。我想将数据添加到多维数组的特定键索引 - 而不添加新的数组层或删除其他数组层。
我试图用 array_merge 和正常的添加到数组方法来解决它。
这是我的数组:
$array = [
'capital' => [
'Germany' => 'Berlin',
'Austria' => 'Vienna',
'France' => 'Paris',
],
'currency' => [
'Germany' => 'Euro',
'Austria' => 'Euro',
'France' => 'Euro',
],
];
如果我尝试
$newData2 = [
'Italy' => 'Rome',
'China' => 'Beijing',
];
$array['capital'][] = $newData2;
我明白了
$array = [
'capital' => [
'Germany' => 'Berlin',
'Austria' => 'Vienna',
'France' => 'Paris',
[
'Italy' => 'Rome',
'China' => 'Beijing',
],
],
'currency' => [
'Germany' => 'Euro',
'Austria' => 'Euro',
'France' => 'Euro',
],
];
这是不正确的,两个新的应该和其他的在同一个数组层上。
如果我使用 array_merge,则删除数组的货币部分:
array_merge($array['capital'], $newData2);
我的数组应该是这样的:
$array = [
'capital' => [
'Germany' => 'Berlin',
'Austria' => 'Vienna',
'France' => 'Paris',
'Italy' => 'Rome',
'China' => 'Beijing',
],
'currency' => [
'Germany' => 'Euro',
'Austria' => 'Euro',
'France' => 'Euro',
],
];
解决方案
你可以试试这个
$array['capital']['Italy'] = 'Rome';
$array['capital']['China'] = 'Beijing';
推荐阅读
- math - 2 个整数区间的非幂的混合函数
- oracle - 从 excel 自动加载 Oracle Apex 数据
- html - HTML Outlook 按图像忽略 td 宽度
- android - Room DAO 按 ASC 或 DESC 变量排序
- jmeter - 在 JMeter 中的某个时间间隔后峰值单个请求
- javascript - 'Cannot read property 'color1' of undefined' error in vue.js
- django - 启动 Kiwi Tcms 时静态文件“debug_toolbar/css/print.css”不存在
- angular - 来自套接字的数据未显示在视图中
- odbc - 哪里可以下载apache kylin odbc驱动?
- docker - 众所周知的“Docker 容器看不到彼此”问题