Найти связанные ключи и подключи и наоборот в массиве PHP
Я пытаюсь найти какие-либо связи многомерного массива с его ключами и подразделами.
Некоторые ключи взаимосвязаны. Некоторые нет. Ключ может быть подразделом в другом ключе, или подраздел может быть ключом другого подраздела.
Исходный массив выглядит так:
$toRelate = [
"blue" => [
"navy" => 1,
],
"1000" => [
"2000" => 1,
],
"john" => [
"apples" => 1,
],
"bananas" => [
"john" => 1,
"apples" => 1,
"oranges" => 1,
],
"pineaple" => [
"john" => 1,
],
"amet" => [
"loren" => 1,
],
"ipsum" => [
"loren" => 1,
]
...
];
Я пытаюсь получить конечный результат следующим образом или что-то подобное:
$related = [
"blue" => [
"navy" => 1,
],
"1000" => [
"2000" => 1,
],
"bananas" => [
"apples" => 1,
"john" => 1,
"oranges" => 1,
"pineaple" => 1
],
"amet" => [
"loren" => 1,
"ipsum" => 1,
],
];
Неважно, какой ключ или вспомогательный ключ важнее, я просто хочу связать вспомогательные ключи и ключи (или наоборот) и создать меньший массив.
Есть ли функция, метод foreach или что-то еще? Я не могу найти способ, как это сделать.