从多维数组返回单列

2022-08-30 08:12:08

我是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

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


答案 1

很简单:

$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'));

答案 2

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

json_encode($array)