php - 按相同的值php对嵌套数组进行分组
问题描述
我需要从嵌套数组创建新数组,其中最小的一个子数组具有相同的值或重复。
我试图检查一个 foreach 来比较子数组 id,如果它是以前找到的,但似乎不能正常工作。
$finalJobs = array();
foreach ($CompleteJobs as $index => $jobs) {
foreach ($jobs['jobs'] as $job) {
if (!empty($finalJobs)) {
foreach ($finalJobs as &$finalJob) {
foreach ($finalJob['jobs'] as $Fjob) {
if (!empty(array_intersect($Fjob, $job))) {
//here is my problem
}
}
}
} else {
$finalJobs[$job['id']] = $job;
}
}
}
jobs
这是我的原始数组,如果在子数组中id
加倍或重复,我需要。
array:4 [▼
0 => array:4 [▼
"id" => 9
"position" => 3
"jobs" => array:2 [▼
0 => array:21 [▼
"id" => 2
"name" => "9987C"
"plan_id" => null
]
1 => array:21 [▼
"id" => 3
"name" => "1009V"
"plan_id" => null
]
]
]
1 => array:4 [▼
"id" => 8
"position" => 2
"jobs" => array:1 [▼
0 => array:21 [▼
"id" => 2
"name" => "10bb"
"plan_id" => null
]
1 => array:21 [▼
"id" => 4
"name" => "CC09"
"plan_id" => null
]
]
]
...
我预期的数组必须看起来像:
array:4 [▼
8 => array:4 [▼
"id" => 8
"position" => 2
]
"id" => 9
"position" => 3
"jobs" => array:3 [▼
0 => array:21 [▼
"id" => 2
"name" => "01"
"plan_id" => null
]
1 => array:21 [▼
"id" => 3
"name" => "09BB"
"plan_id" => null
]
3 => array:21 [▼
"id" => 4
"name" => "10CB"
"plan_id" => null
]
]
]
我需要有一种联合,我检查是否id
找到相同的值并将数组重写为新形式。
解决方案
推荐阅读
- tensorflow - 适用于 Mac 的外部 GPU
- javascript - 不同的按钮应该做不同的功能
- javascript - 如何在 Chrome 扩展构建中禁用 webpack?
- javascript - jQuery 过滤表 - 排除而不是包含
- javascript - 无需滚动即可转到特定的 div
- c# - 在 C# 中将 UDP 消息发送到 azure IoT
- algorithm - 如何在广度优先搜索中选择起点?
- laravel - 如何通过使用 Azure AD 登录来谷歌驱动 api
- design-patterns - 继承是否映射到 SOLID 中的单一职责?
- reactjs - 在 NewTodo.jsx 中创建待办事项时无法读取未定义的属性“id”