0

我想使用以下查询仅显示一个结果:

<?php
foreach($list as $row=>$item){
?>     

    <li>

        <?php if ($params->get('link_titles') == 1) : ?>
            <a class="<?php echo $item->category_title; ?>" href="#">
              <?php echo $item->category_title; ?>
            </a>

        <?php
            else:
            echo $item->category_title;
            endif;
        ?> 

    </li>              
<?php }?>

结果是:

All
Onesies
Leggings
Swimsuits
Onesies
Leggings
Swimsuits
Onesies
Leggings
Swimsuits
Leggings
Onesies
Swimsuits
Onesies
Onesies

我的问题是,我想知道如何删除重复的类别。

我已经用 jquery 解决了这个问题。

foreach 之后的示例,这是输出。

<ul class="filter">
<li><a href="#">Same Title </a> </li>
<li><a href="#">Different Title </a> </li>
<li><a href="#">Different Title </a> </li>
<li><a href="#">Different Title </a> </li>
<li><a href="#">Same Title </a> </li>
<li><a href="#">Same Title </a> </li>
<li><a href="#">Same Title </a> </li>
</ul>

这是解决方案

var seen='';$('ul.filter li').each(function(){
    var see=$(this).text();
    if(seen.match(see)){
        $(this).remove();}
    else{
        seen=seen+$(this).text();
        }
    });
4

1 回答 1

4

一个快速的技巧是将它们存储到二维数组中。只需执行以下操作,而不是在您拥有它的那一刻回显该项目:

$clothes[$item->category_title] = 0;

创建一个条目,当您点击重复项时,它只是重新创建一个条目。现在你可以

foreach ( $clothes as $item => $count )
{
    echo $item;
}

作为一个附加的花絮,您甚至可以增加该值,而不是将其设置为 0,以防您需要知道该项目在列表中出现的次数

于 2013-06-20T21:33:51.020 回答