消除重复的名称

时间:2017-04-15 10:49:28

标签: mysql cakephp

public function search(){
            //$alphas = range('a','z');
            $alphas = $this->Breed->find('all', ['order' => 'Breed.name']);
            $this->set(compact('alphas'));
        }

<section>
    <div class="container">
        <div class="row">
            <ul class="nav nav-pills">
                <?php foreach($alphas as $alpha){?>
                  <li class="active">
                        <?php
                        pr(strtoupper($alpha['Breed']['name'][0]));
                            //echo ($this->Html->tag('a data-toggle="pill" href=#', strtoupper($alpha['Breed']['name'][0]), ['class' => 'letter']));
                        ?>
                  </li>
                <?php }exit; ?>
            </ul>
            <div id='#'>
                <?php echo $this->Html->para('breed', ''); ?>
            </div>
        </div>
    </div>
</section>

O / P: 一个 乙 乙 ç

我如何获得A B C? 什么是Eliminate Of Duplicate letter的解决方案 我该怎么做才能得到这个解决方案? 提前致谢

1 个答案:

答案 0 :(得分:0)

根据我的理解,$ alphas变量包含有序名称,您需要每个字母只过滤掉1个名称,即A只有一个名称,依此类推。 在foreach循环中,您可以执行以下操作:

$str = null;
foreach($alphas as $alpha) {

    if($alpha['Breed']['name'][0] == $str) continue; //skip all repetitions of a letter
    $str = $alpha['Breed']['name'][0];
}

PS:请注意,$ alphas数组包含按名称排序的列表。