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的解决方案 我该怎么做才能得到这个解决方案? 提前致谢
答案 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数组包含按名称排序的列表。