从多维数组中返回单列

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

这个功能可以达到这个效果吗? 如果不可以,请提出一个替代的解决方案。

121534 次浏览
join(',', array_map(function (array $tag) { return $tag['tag_name']; }, $array))

很简单:

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

非常简单

$str;
foreach ($arrays as $arr) {
$str .= $arr["tag_name"] . ",";
}
$str = trim($str, ',');//removes the final comma

如果您希望“ tag _ name”与相关的“ blogTags _ id”使用: (PHP > 5.5)

$blogDatas = array_column($your_multi_dim_array, 'tag_name', 'blogTags_id');
echo implode(', ', array_map(function ($k, $v) { return "$k: $v"; }, array_keys($blogDatas), array_values($blogDatas)));

虽然这个问题与字符串转换有关,但是我在想要一种简单的方法将数组写入日志文件时偶然发现了这个问题。如果你只是想要信息,并且不关心字符串的精确清晰度,你可以考虑:

json_encode($array)

在这种情况下,内爆($array,’,’) ; 将工作,因为您只需要值。

如果您希望将键和值集成在一个类似于:
BlogTags _ id: 1
Tag _ name: google

$toImplode=array();
foreach($array as $key => $value) {
$toImplode[]= "$key: $value".'<br>';
}
$imploded=implode('',$toImplode);

对不起,我理解错了,因为标题是“从多维数组内爆数据”。好吧,我的答案还是不知怎么的回答了,可能对某人有帮助,所以不会删除。