我有一个名为标记的表,它包含tag_name和question_id。就像Stack溢出一样,我可以使用逗号来插入每个标签。这是可行的。
但我也想展示所有的标签。假设这是从tags表中选择它之后得到的结果。
Array (
[0] => Array (
[tag_name] => tag-1,
[question_id] => 1
)
[1] => Array (
[tag_name] => tag-1,
[question_id] => 2
)
[2] => Array (
[tag_name] => tag-2,
[question_id] => 3
)
)当我遍历它们时,我得到
tag-1
tag-1
tag-2但这不是我想要的。我在想一些事情
tag-1 × 2
tag-2我怎样才能做到这一点?我正在使用CodeIgniter,但这并不重要,因为我只想了解它的逻辑。
提前谢谢。
发布于 2016-08-12 17:46:56
我对这个问题的回答是:
$array = [
0 => [
'tag_name' => 'tag-1',
'question_id' => 1
],
1 => [
'tag_name' => 'tag-1',
'question_id' => 2
],
2 => [
'tag_name' => 'tag-2',
'question_id' => 3
],
];
$count = [];
foreach ($array as $arr)
{
if (empty($count[$arr['tag_name']]))
{
$count[$arr['tag_name']] = 1;
}
else
{
$count[$arr['tag_name']]++;
}
}
foreach ($count as $key => $c)
{
echo $key . (($c > 1) ? ' x' . $c : '') . '<br>';'
}
// outputs:
tag-1 x2
tag-2https://stackoverflow.com/questions/38923653
复制相似问题