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