从多维数组返回单列

新手上路,请多包涵

我是 PHP 的新手,我需要快速解决以下问题,但似乎想不出一个:

我有一个像这样的多维数组

Array
(
    [0] => Array
        (
            [blogTags_id] => 1
            [tag_name] => google
            [inserted_on] => 2013-05-22 09:51:34
            [inserted_by] => 2
        )

    [1] => Array
        (
            [blogTags_id] => 2
            [tag_name] => technology
            [inserted_on] => 2013-05-22 09:51:34
            [inserted_by] => 2
        )
)

我想使用 implode() 以某种方式返回一个逗号分隔的字符串,其中包含 tag_name 键的值,就像这样。

 google, technology

使用上述功能是否可以达到这种效果?如果没有,请提出替代解决方案。

原文由 CobaltBabyBear 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 308
2 个回答

非常简单:

 $input = array(
  array(
    'tag_name' => 'google'
  ),
  array(
    'tag_name' => 'technology'
  )
);

echo implode(', ', array_map(function ($entry) {
  return $entry['tag_name'];
}, $input));

http://3v4l.org/ltBZ0


和 php v5.5.0 中的新功能, array_column

 echo implode(', ', array_column($input, 'tag_name'));

原文由 Yoshi 发布,翻译遵循 CC BY-SA 3.0 许可协议

尽管这个问题与字符串转换有关,但我在想要一种简单的方法将数组写入我的日志文件时偶然发现了这个问题。如果您只想要信息,而不关心字符串的确切清洁度,您可能会考虑:

 json_encode($array)

原文由 Msencenb 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题