Cформировать верный массив по вложениям

79
22 февраля 2022, 17:10

Подскажите, как получить количество повторений из подмассива? Входные данные:

array (
  0 => 
  array (
    'URL' => 'http://www.transsunline.ru/',
    'WORLD' => 
    array (
      '200кг' => '200кг',
      'ТрансСанЛайн' => 'Транс Онлайн',
    ),
    'ERROR' => 2,
  ),
  1 => 
  array (
    'URL' => 'http://www.transsunline.ru/vopros-otvet',
    'WORLD' => 
    array (
      'mdash' => 'dash',
      'ТрансСанЛайн' => 'Транс Онлайн',
    ),
    'ERROR' => 5,
  ),
)

Нужно получить массив вида:

array (
  '200кг' => 
  array (
    0 => 'http://www.transsunline.ru/',
  ),
  'ТрансСанЛайн' => 
  array (
    0 => 'http://www.transsunline.ru/',
    1 => 'http://www.transsunline.ru/vopros-otvet',
  ),
  'mdash' => 
  array (
    0 => 'http://www.transsunline.ru/vopros-otvet',
  ),
)

Получается нужно получить список упоминаний ошибок слов и страниц на которых они расположены. Пробовал делать слово ключом и добавлять в него, но ничего не выходит, так как URL заносятся неверно. Как можно реализовать?

Answer 1
$array = [
    [
        'URL' =>  'http://www.transsunline.ru/',
        'WORLD' => [
            '200кг' => '200 кг',
            'ТрансСанЛайн' => 'Транс Онлайн'
        ],
        'ERROR' => 2
    ],
    [
        'URL' => 'http://www.transsunline.ru/vopros-otvet',
        'WORLD' => [
            'mdash' => 'dash',
            'ТрансСанЛайн' => 'Транс Онлайн'
        ],
        'ERROR' => 5
    ]
];
foreach ($array as $_key => $_value)
{
    foreach (array_keys($_value['WORLD']) as $k => $v)
    {
        $res[$v][] = $_value['URL'];
    }
}
print_r($res);

https://3v4l.org/n3mpX

READ ALSO
Laravel проблема с get

Laravel проблема с get

Вид listblade

84
Подскажите в переборе массива php

Подскажите в переборе массива php

Как перебрать массив следующего типа?

95
Как включить ЧПУ в компоненте news.list битрикс

Как включить ЧПУ в компоненте news.list битрикс

На сайте есть папка inform в ней 2 файла indexphp и detail

98
Как проверить изменения в диске

Как проверить изменения в диске

Пишу веб приложение на PHP, возника задача синхронизировать яндекс диск с сервером с помощью Rest Api, но вот как сделать если я загружаю файл...

91