如何用“,”符号

时间:2018-06-02 12:00:10

标签: php arrays explode implode

JAY's ANSWER更新

我做了你在link中所做的事情:

public function ShowTag()
    {
        $blog_tags = array();
        $tag = $this->_db->prepare("SELECT blog_tags FROM blogs");
        $tag->execute();
        while($row = $tag->fetch())
        {
            $blog_tags[] = $row['blog_tags'];
        }
        $final_anchors = "";
        $final_tags = "";
        foreach($blog_tags as $b)
        {
            $make_comma_seprated_tags_to_array = explode(",",$b);
            $final_tags = array_merge($final_tags,$make_comma_seprated_tags_to_array);
        }
        foreach($final_tags as $f)
        {
            $final_anchors .= '<a href="'.$f.'">'.$f."</a>";
        }
        return $final_anchors;
    }

但它给了我这些错误:

  

警告: array_merge():参数#1不是数组

$final_tags = array_merge($final_tags,$make_comma_seprated_tags_to_array);
  

警告:为foreach()提供的参数无效

foreach($final_tags as $f)

=============================================== ============================

我正在使用PHP来开发我的项目。基本上我有一个名为Blogs的表格,其中包含有关我网站博客文章的一些信息:

capture

现在我创建了一个页面,其中显示了博客帖子的所有标签。所以为了做到这一点,我编写了这个:

if(!empty($tags)){
    print_r($tagShow);
    $string = implode(',',$tagShow);
    echo $string;
}else{
    echo "There is no tag available right now!";
}

正如你所看到的,我指的是基本上这种方法的$tagShow

public function ShowTag()
{
    $blog_tags = array();
    $tag = $this->_db->prepare("SELECT blog_tags FROM blogs");
    $tag->execute();
    while($row = $tag->fetch())
    {
        $blog_tags[] = $row['blog_tags'];
    }
    return $blog_tags;
}

它返回一个这样的数组:

Array ( [0] => asdsadsa,hello [1] => new,old ) 

这就是我使用implode函数将其转换为字符串的原因:

asdsadsa,hello ,new,old

现在我想做的是用符号分隔每个标签。因此,我可以在任何上添加超链接......

所以如果你知道怎么做,请帮助我。

提前致谢。

2 个答案:

答案 0 :(得分:0)

public function ShowTag()
{
    $blog_tags = array();
    $tag = $this->_db->prepare("SELECT blog_tags FROM blogs");
    $tag->execute();
    while($row = $tag->fetch())
    {
        $tags = explode(",",$row['blog_tags']);
        $blog_tags=array_merge($blog_tags,$tags);

    }
    // $blog_tags have now all tags
   $final_anchors="";
    foreach($blog_tags as $b)
    {
     $final_anchors.='<a href="BASIC_URL'.$b.'">#'.$b."</a>";
    }
    return $final_anchors;
}

/ 我们也可以通过嵌套for循环来实现代码,但基本思想是相同的 /

http://sandbox.onlinephpfunctions.com/code/5670bf4019292d9cd06402c2fddeed17da9f7449 查看此链接以获取演示

答案 1 :(得分:0)

您已将$final_tags作为字符串启动。必须是这样的:

$final_tags = [];