Найти связанные ключи и подключи и наоборот в массиве 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 или что-то еще? Я не могу найти способ, как это сделать.

0 ответов

Другие вопросы по тегам