Php 将数组转换为字符串并删除特定项
在我的网站上,我有一个新闻列表,可以在Php 将数组转换为字符串并删除特定项,php,arrays,Php,Arrays,在我的网站上,我有一个新闻列表,可以在/news/上找到,其中显示了所有新闻。我允许根据主题过滤新闻,方法是在URL中添加类别,如:/news/sports或多个类别/news/sports+politics+crime 在我的应用程序中,我分解+上的URL,并构建一个数组,用于获取正确的新闻条目。除了抓取项目外,我还将“标签”打印到页面上,用“X”删除给定类别。因此,如果你去了/news/sports+politics+crime那么在我打印的体育[X]政治[X]犯罪[X]的新闻列表上方 我想
/news/
上找到,其中显示了所有新闻。我允许根据主题过滤新闻,方法是在URL中添加类别,如:/news/sports
或多个类别/news/sports+politics+crime
在我的应用程序中,我分解+
上的URL,并构建一个数组,用于获取正确的新闻条目。除了抓取项目外,我还将“标签”打印到页面上,用“X”删除给定类别。因此,如果你去了/news/sports+politics+crime
那么在我打印的体育[X]政治[X]犯罪[X]的新闻列表上方
我想做的是,将[X]
添加到相同的URL,减去要删除的类别。因此,犯罪的href
标签[X]
将是/news/sports+politics
,但体育的href
标签将是/news/politics+crime
最好的方法是什么
在生成页面时,我会在类别数组中循环,如下所示:
foreach ($category as $cat) {
echo $cat . '<a href="/news/">[X]</a>';
}
foreach($cat类){
回声$cat';
}
在不删除类别的情况下打印链接的最佳方式是什么?我在想,我可以用某种方式将数组展平为一个普通的旧字符串,然后查找/替换给定的项ex
+crime
,然后将其转换回URL。有什么想法吗?您可以使用array_diff()
从$category
数组中删除当前类别:
foreach ($category as $cat) {
$other_categories = array_diff($category, array($cat));
echo $cat . ' <a href="/news/' . implode('+', $other_categories) . '">[X]</a>';
}
foreach($cat类){
$other_categories=array_diff($categories,array($cat));
回声$cat';
}
天哪,这真是太棒了。这比我想象的要容易得多。谢谢你的帮助