php - PHP用不同数组中的值替换数组中的值
问题描述
我有两个数组,array1 有 408 行,array2 有 256 行。
这是 array1 的 saml 示例
Array
(
[0] => Array
(
[nodo] => N_127y4Gral
[int_id] => 34213897
[dow_id] => Array
(
[0] => 536870914
[1] => 536870914
[2] => 536870914
[3] => 536870914
[4] => 536870914
)
)
[1] => Array
(
[nodo] => N_121y7
[int_id] => 34213905
[dow_id] => Array
(
[0] => 536870915
[1] => 536870915
[2] => 536870915
[3] => 536870915
[4] => 536870915
)
)
[2] => Array
(
[nodo] => N_144y4Gral
[int_id] => 34213921
[dow_id] => Array
(
[0] => 536870918
[1] => 536870918
[2] => 536870918
[3] => 536870918
[4] => 536870918
)
)
[3] => Array
(
[nodo] => N_132y2
[int_id] => 34213921
[dow_id] => Array
(
[0] => 536870914
[1] => 536870914
[2] => 536870914
[3] => 536870914
[4] => 536870914
)
)
)
这是array2的一个saml示例
Array
(
[0] => Array([536870914] => 201920520)
[1] => Array([536870914] => 201920528)
[2] => Array([536870914] => 201920536)
[3] => Array([536870914] => 201920544)
[4] => Array([536870914] => 201920552)
[5] => Array([536870915] => 201920560)
[6] => Array([536870915] => 201920568)
[7] => Array([536870915] => 201920576)
[8] => Array([536870915] => 201920584)
[9] => Array([536870915] => 201920592)
[10] => Array([536870916] => 201928784)
[11] => Array([536870916] => 201928792)
[12] => Array([536870916] => 201928800)
[13] => Array([536870916] => 201928808)
[14] => Array([536870916] => 201928816)
[15] => Array([536870917] => 201928824)
[16] => Array([536870917] => 201928832)
[17] => Array([536870917] => 201932808)
[18] => Array([536870917] => 201932816)
[19] => Array([536870917] => 201932824)
[20] => Array([536870918] => 201920600)
[21] => Array([536870918] => 201920608)
[22] => Array([536870918] => 201920616)
[23] => Array([536870918] => 201920624)
[24] => Array([536870918] => 201920632)
)
我想弄清楚的是如何用 array2 中的相应值替换 array1 中的 dow_id 值。所有的 dow_id 值都作为 ids 存在于 array2 中。
这是我想要实现的输出
Array
(
[0] => Array
(
[nodo] => N_127y4Gral
[int_id] => 34213897
[dow_id] => Array
(
[0] => 201920520
[1] => 201920528
[2] => 201920536
[3] => 201920544
[4] => 201920552
)
)
[1] => Array
(
[nodo] => N_121y7
[int_id] => 34213905
[dow_id] => Array
(
[0] => 201920560
[1] => 201920568
[2] => 201920576
[3] => 201920584
[4] => 201920592
)
)
[2] => Array
(
[nodo] => N_144y4Gral
[int_id] => 34213921
[dow_id] => Array
(
[0] => 201920600
[1] => 201920608
[2] => 201920616
[3] => 201920624
[4] => 201920632
)
)
[3] => Array
(
[nodo] => N_132y2
[int_id] => 34213854
[dow_id] => Array
(
[0] => 201920520
[1] => 201920528
[2] => 201920536
[3] => 201920544
[4] => 201920552
)
)
)
非常感谢任何帮助或建议
解决方案
这很容易用array_column
. 无需更改数组格式:
foreach ($a1 as &$value) {
$value['dow_id'] = array_column($a2, $value['dow_id'][0]);
}
推荐阅读
- python - 使用 numpy 函数的代码的 GPU 并行化
- spring-webflux - 获取 webflux 事件循环调度器
- linux - 在 Linux 服务器上触发主机名“withsometest”时会发生什么
- python - 使用 pybind11 包装一个包含 Eigen 数组的 stl 容器(地图)
- f# - HighRise API 创建一个因缺少名字而失败的人
- dns - www.docusign.net(美国西部地区)的 DNS 解析失败
- android - 任务':app:mergeReleaseResources'构建APK的错误执行失败
- c# - 如何从 azure AD 应用程序客户端 ID 生成令牌?
- dart - 显示 Carousel Pro 中的最后一张幻灯片时如何启用“开始”按钮?
- excel - 在不使用正则表达式的情况下查找两个字符之间的数字