多维数组通过组合值转换为单个数组

3
我有一个数组,格式如下。
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() but this remove duplicate keys and output become

    Array
    (
        [keyword] => thumbnail_follow
        [content] => width
    )
    
  2. array_column I am able to get only single type of values. For example array_column($array, 'keyword')

    Array
    (
        [0] => thumbnail_follow
        [1] => thumbnail_resize
    )
    
使用array_columnloop,我可以获得期望的输出,但一定存在更有效的方法,但是我不知道。你们能帮我吗?
2个回答

5

使用array_column的第三个参数index_key,您可以完成此操作。请查看函数的第二个示例。

使用方法如下:

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

通过这种方式,您应该能够获得所需的输出。


1
谢谢@Hassaan,它起作用了。我没有注意到第三个参数。 - Dev Hub

0

试试这个

$newArr = [];
foreach($yourArr as $row) {
   $newArr[$row['keyword']] = $row['content'];
}

谢谢,我正在寻找不使用“循环”来完成它的方法。 - Dev Hub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接