我有以下问题:
在我的Wordpress 3.6中,我有一个名为“主题”的自定义字段。 该字段由RSS自动填充来自其他网站的短语,并添加了多个标准。它填写如下:“汽车,自行车,东西,小工具”
当我用get_posts查询wordpress时,我进入了我的foreach循环:
Cars,Bikes,Stuff,Gadget
Cars,Bikes
Bikes,Stuff
Gadget
我把它放到一个字符串中并替换一些东西:
$topic_filter = get_posts(
array(
'numberposts' => -1,
'post_status' => 'private',
)
);
$search_topic = array(' ', '-&-', '-|-', '-/-', '---');
$replace_topic = array("-", "-", "-", "-", "-", "");
foreach ($topic_filter as $post_topic) {
$str = str_replace($search_topic, $replace_topic, get_post_meta($post_topic->ID, 'topic', true));
echo $str;
}
最后的回声输出是:
Cars,Bikes,Stuff,Gadget,Cars,Bikes,Bikes,Stuff,Gadget
到目前为止一切顺利。但是现在如何删除重复项?
我尝试过implode / explode,但它没有做任何事情,因为我认为这些项目在foreach循环中,并且它仅适用于每个帖子。
但是我需要foreach循环,因为最终目标是将这个清理过的字符串作为html输出中的列表得到如下:
<input
type="button"
value="Cars"
class="filter-button"
data-control-type="button-filter"
data-control-action="filter"
data-control-name="Cars-btn"
data-path=".Cars"
/>
<input
type="button"
value="Bikes"
class="filter-button"
data-control-type="button-filter"
data-control-action="filter"
data-control-name="Bikes-btn"
data-path=".Bikes"
/>
<input
type="button"
value="Gadget"
class="filter-button"
data-control-type="button-filter"
data-control-action="filter"
data-control-name="Gadget-btn"
data-path=".Gadget"
/>
对我来说似乎很复杂:-(
任何想法?我真的很高兴你的帮助!
谢谢!
答案 0 :(得分:1)
使用array_unique:
$str = "Cars,Bikes,Stuff,Gadget,Cars,Bikes,Bikes,Stuff,Gadget";
$r = explode(",", $str);
$unique = array_unique($r);
$new_str = implode(",", $unique);