php - 在新键上创建多个数组并检查相同的键,
问题描述
我想将 2 个数组组合成新键上的多个数组,并检查相同的键。这是在图像原始数组上,其中 suborderid 键是确定它们的键
数组 1: ( $pso
)
Array
(
[0] => Array
(
[suborderid] => 127
[orderid] => 120
)
[1] => Array
(
[suborderid] => 128
[orderid] => 120
)
[2] => Array
(
[suborderid] => 129
[orderid] => 120
)
)
数组 2: ( $items
)
Array
(
[0] => Array
(
[suborderid] => 127
[title] => Kue Nastar
)
[1] => Array
(
[suborderid] => 128
[title] => Kue Lapis
)
[2] => Array
(
[suborderid] => 128
[title] => Kue Bakar
)
)
这是我想要的结果
Array
(
[0] => Array
(
[suborderid] => 127
[orderid] => 120
[0] => Array
(
[suborderid] => 127
[title] => Kue Nastar
)
)
[1] => Array
(
[suborderid] => 128
[orderid] => 120
[0] => Array
(
[suborderid] => 128
[title] => Kue Lapis
)
[1] => Array
(
[suborderid] => 128
[title] => Kue Bakar
)
)
[2] => Array
(
[suborderid] => 129
[orderid] => 120
)
)
这是我到目前为止所尝试的:
foreach ($pso as $key => $i){
foreach ($items as $row => $l){
$pso[$key]['items'] = $items;
}
}
解决方案
$newPso = [];
foreach ($pso as $val) {
$newPso[$val["suborderid"]] = $val;
}
foreach ($items as $item) {
$newPso[$item["suborderid"]][] = $item;
}
$pso = array_values($newPso);
print_r($pso);
首先,我用数组的值$pso
和它的 suborderid 的键创建一个新数组。
然后我只是迭代$items
数组并添加值。array_values
是摆脱新的钥匙。
推荐阅读
- sql - SQL 计算产品相同的客户
- c# - 删除 Grid 中 ImageButton 元素之间的空间
- python - 从特定的 HTML 元素、URL 列表中抓取文本,结合正则表达式,然后将它们连接到 .csv 中
- c# - 我的浏览器加载 CSS 时出现问题,我不知道该怎么办
- node.js - throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: 客户端密码必须是字符串'
- opengl - 当我单击它时,如何在 OpenGL/OpenTK 中显示三角形的长度?
- jquery - 使用 jQuery 滑动 Toogle 不流畅
- blazor-server-side - 在 Blazor 中绑定计算字段
- mysql - 无法在graphql中获取关系“人”
- javascript - 使用 post 创建一个到 REST API 的条目