Многомерный массив в один массив путем объединения значений - PullRequest
3 голосов
/ 20 мая 2019

У меня есть массив в следующем формате.

Array
(
    [0] => Array
            (
                [keyword] => thumbnail_follow
                [content] => width
            )

    [1] => Array
            (
                [keyword] => thumbnail_resize
                [content] => yes
            )

)

Мой вывод желаний следующий

Array
(
    [thumbnail_follow] => width
    [thumbnail_resize] => yes
)

Что я пробовал до сих пор?

  1. array_shift() но при этом удаляются дубликаты ключей и вывод становится

    Array
    (
        [keyword] => thumbnail_follow
        [content] => width
    )
    
  2. array_column Я могу получить только один тип значений. Например array_column($array, 'keyword')

    Array
    (
        [0] => thumbnail_follow
        [1] => thumbnail_resize
    )
    

Используя array_column и loop, я могу получить желаемый результат, но должен быть какой-то более эффективный способ сделать это, но мне известно из этого

Не могли бы вы помочь мне, ребята?

Ответы [ 2 ]

5 голосов
/ 20 мая 2019

Используя array_column третий параметр index_key, вы можете сделать это.Пожалуйста, посмотрите на 2-й пример функции.

Используйте это так

print_r( array_column($array, 'content', 'keyword') );

Вы должны получить желаемый результат этим.

0 голосов
/ 20 мая 2019

Попробуйте это

$newArr = [];
foreach($yourArr as $row) {
   $newArr[$row['keyword']] = $row['content'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...