Php 如何用“,”符号分隔字符串的各个部分

Php 如何用“,”符号分隔字符串的各个部分,php,arrays,explode,implode,Php,Arrays,Explode,Implode,更新JAY的答案: 我做了你在这方面所做的: 警告:为foreach提供的参数无效 =========================================================================== 我正在与PHP合作开发我的项目。基本上,我有一个名为Blogs的表,其中包含一些关于我网站博客帖子的信息: 现在我已经创建了一个页面,其中所有博客帖子的标签都显示在那里。因此,为了做到这一点,我编写了以下代码: if(!empty($tags)){ pri

更新JAY的答案:

我做了你在这方面所做的:

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

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

我正在与PHP合作开发我的项目。基本上,我有一个名为Blogs的表,其中包含一些关于我网站博客帖子的信息:

现在我已经创建了一个页面,其中所有博客帖子的标签都显示在那里。因此,为了做到这一点,我编写了以下代码:

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 ) 
这就是我使用内爆函数将其转换为字符串的原因:

asdsadsa,hello ,new,old
现在我想做的是,用,签名来分隔每个标签。所以我可以在任何一个上面放一个超链接

如果你知道怎么做,请帮我

提前谢谢

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循环导入代码,但基本思想是相同的/

检查此链接以查看演示

您已将$final_标记初始化为字符串。一定是这样的:

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

$final_tags=[]

你可以使用explode将字符串转换为数组,然后你必须使用foreach来显示每个数组元素,它只是一个单独的标记use@Ash-b你能给我一个关于这个字符串的答案吗?asdsadsa,你好,new,old@kerbholz如果我使用echo$blog_tags=explode',',$string;它给了我这样一个错误:注意:数组到字符串的转换为答案,但它们并没有真正分开。因为asdsadsa,hello是作为一个链接组合在一起的,而新的,旧的是作为另一个超链接组合在一起的@杰夫:如果你是这个意思:echo$tagShow=explode',',$tagShow;它基本上给了我数组到字符串转换的错误消息。@phiabaenacho抱歉,我想改进答案。但为了解决您的问题:使用此已更改的函数,您只需要回显ShowTag;-没有爆炸,听到这个我很高兴
asdsadsa,hello ,new,old
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;
}