php - 在php中匹配两个数组的ID
问题描述
我有 2 个数组 $dizi1 和 $dizi2。而这些都是这样的。
$dizi1 = [
[
'id' => 1,
'name' => 'özkan',
'surname' => 'özdemir',
],
[
'id' => 2,
'name' => 'çağrı',
'surname' => 'uğurel',
],
[
'id' => 3,
'name' => 'can',
'surname' => 'tokay'
],
[
'id' => 4,
'name' => 'lütfü',
'surname' => 'uzun'
]
];
$dizi2 = [
[
'id' => 2,
'birthday' => 1993
],
[
'id' => 3,
'birthday' => 1990
],
[
'id' => 4,
'birthday' => 1989
],
[
'id' => 1,
'birthday' => 1987
]
];
这就是我想要的
istenenDizi = [
[
'id' => 1,
'name' => 'özkan',
'surname' => 'özdemir',
'birthday' => 1987,
]
];
我重新搜索了很多,但我找不到执行此操作的算法。我还将创建两个 excel 表,我将使用它。你能帮我吗?我该怎么做?谢谢!
解决方案
您可以使用foreach()
, array_search()
,array_column()
如下所示:-
$istenenDizi = [];
foreach($dizi1 as $dizi1){
$istenenDizi[$dizi1['id']] = $dizi1;
$istenenDizi[$dizi1['id']]['birthday'] = $dizi2[array_search($dizi1['id'],array_column($dizi2,'id'))]['birthday'];
}
$istenenDizi = array_values($istenenDizi);
print_r($istenenDizi);
推荐阅读
- android - 无法从 android Q 中的 Uri 加载视频缩略图
- c# - 如何在 TEntity 中动态搜索具有值的属性?
- python - 使用 Scipy.integrate 的数值积分错误
- python - print_linked_list 方法在链表的最后一个值之后打印 None
- python - 获得时间执行。比较 list.pop(0) 与 list().reverse(), list().pop()
- google-bigquery - 如何在展平嵌套字段后将数据从一个 bigquery 表流式插入到另一个表?
- python - 重命名 zip 文件中的文件
- java - 根据输入类型做出决策
- python - 有人可以解释循环吗?
- amazon-web-services - AWS S3 如何对请求收费?以及如何计算数据传出大小?