使用php从mysql获取唯一标签和出现次数

时间:2017-01-10 09:06:54

标签: php mysql arrays

有一个"帖子"表格在mysql和列"标签"。

标签'价值就像 apple,orange,peach等

我试图获取所有标签并分配标签&使用php进行数组的次数。这是我想要做的。

$recmostusedtagscol = array();
$recmostusedtagsq = mysqli_query($connecDB,"select tags from post limit 5");
while($recmostusedtagsr = mysqli_fetch_array($recmostusedtagsq)){
  $tagsarray = explode(',', $recmostusedtagsr['tags']);
  foreach ($tagsarray as $tag) {
    if(in_array($tag,$recmostusedtagscol)){
      $recmostusedtagscol[$tag][]++;
    }
    else {
      $recmostusedtagscol .= [$tag => 1];
    }
  }
}
print_r($recmostusedtagscol);

更新: 这个很接近。它列出了uniqe值,但它没有为数组值添加加1。

$recmostusedtagscol = array();
$recmostusedtagsq = mysqli_query($connecDB,"select tags from post");
while($recmostusedtagsr = mysqli_fetch_array($recmostusedtagsq)){
  $tagsarray = explode(',', $recmostusedtagsr['tags']);
  foreach ($tagsarray as $tag) {
    if(in_array($tag,$recmostusedtagscol)){
      $recmostusedtagscol[$tag]++;
    }
    else {
      $recmostusedtagscol[$tag]=1;
    }
  }
}
print_r($recmostusedtagscol);

似乎in_array()不起作用......也许......

1 个答案:

答案 0 :(得分:0)

根据评论,这是工作的。

$recmostusedtagscol = array();
$recmostusedtagsq = mysqli_query($connecDB,"select tags from post");
while($recmostusedtagsr = mysqli_fetch_array($recmostusedtagsq)){
  $tagsarray = explode(',', $recmostusedtagsr['tags']);
  foreach ($tagsarray as $tag) {
    if(isset($recmostusedtagscol[$tag])){
      $recmostusedtagscol[$tag]++;
    }
    else {
      $recmostusedtagscol[$tag]=1;
    }
  }
}

感谢@Mark Ba​​ker和@arkascha