php - php,合并两个数组
问题描述
我有两个数组。第一个$letters
很简单:
[5, 89, 1, 212]
第二个$some_data
:
[
89 => 'A',
41 => 'B',
1 => 'C',
5 => 'D',
200 => 'E',
212 => 'F'
]
如何合并这些数组以获得:
[
89 => 'A',
1 => 'C',
5 => 'D',
212 => 'F'
]
我已经试过了
foreach($some_data as $id => $title) {
if (array_key_exists($id, $letters)) {
$some_arr[$id] = $title;
}
}
但由于某种原因,它无法正常工作并且$some_arr
被重复。这个填充的函数$some_arr
在循环内被调用并接受一个参数。使用这个参数,我填充了 array $letters
。每次(一般6次)数组$letter
都不一样
$some_arr
没有重复,当它曾经以这种方式填充时:
foreach($cont_cntrs as $cntr_id) {
$cntrs_byletter[$cntr_id] = $countries[$cntr_id];
}
但它不是按$countries
id的顺序排序的
解决方案
您只想保留$letters
数组中存在的所有条目。所以使用数组交集:
$some_arr = array_intersect_key($some_data, array_flip($letters));
推荐阅读
- php - 我可以创建一个下拉onchange函数一一更改多个表行中的下拉值吗
- google-app-maker - 如何区分一个函数是客户端脚本还是服务端脚本
- vb.net - VB.Net 获取以下 3 列的总和
- java - Keycloak:自定义端点的 REST url
- mongodb - 无法在 mac os 10.12 上 brew install mongodb
- java - 如何设置饼图中显示的标签数量?
- three.js - 如何将three.js场景快照附加到图像,并单击恢复它
- html - 图像不适合父容器
- hyperledger-fabric - 作曲家休息服务器多用户:尝试登录和获取用户上下文时出错
- python - 使用项集的标头迭代关联规则