2012-11-03 3 views
1

다른 예제를 살펴본 결과이 코드를 작동 시키려고 시도했지만 코드를 수정하면 오류 만 반환됩니다. 기본적으로 필자는 데이터베이스에서 가져온 범주 목록을 2 열로 표시했습니다. 목록의 첫 번째 절반은 알파벳순으로 나열하고 나머지 절반은 2 번째 열로 정렬하고 싶습니다. 알파벳 순으로 나열하면 원하는대로 범주에 자동으로 표시됩니다. 어떤 도움을 주셔서 감사합니다. 내가 가진 코드는 다음과 같습니다이 카테고리 목록을 PHP로 사전 순으로 정렬하는 방법은 무엇입니까?

<ul class="links"> 
      <?php if($this->is_loged) { ?> 
      <li><a href="./"><strong><?php echo $this->translate('Pinners you follow');?></strong></a></li> 
      <?php } ?> 
      <?php if($this->categories) { ?> 
      <li> 
       <a class="arrow" href="<?php echo $this->all_url;?>"><?php echo $this->translate('Everything');?><?php if($this->category_active) { ?>: <?php echo $this->category_active;?><?php } ?></a> 
       <div class="dropdown columns-2"> 
        <?php $total = count($this->categories); ?> 
        <?php for($r=$i=0; $i<2; $i++) { ?> 
        <ul> 
         <?php for($j=0; $j<ceil($total/2); $j++, $r++) { ?> 
         <?php if(isset($this->categories[$r])) { ?> 
         <?php 
          $class = $this->categories[$r]['active'] ? 'active' : ''; 
          if($r==0 || ceil($total/2) == $r) { $class .= ' first'; } 
          if($r==($total-1) || (ceil($total/2)-1) == $r) { $class .= ' last'; } 
          $class = trim($class); 
         ?> 
         <li<?php if($class) {?> class="<?php echo $class;?>"<?php } ?>><a href="<?php echo $this->categories[$r]['href'];?>"><?php echo $this->categories[$r]['title'];?></a></li> 
         <?php } ?> 
         <?php } ?> 
        </ul> 
        <?php } ?> 
        <div class="clear"></div> 
       </div> 
      </li> 
      <?php } ?></ul> 

답변

1
이 아 파크 할 수있는 PHP에서 당신은 MySQL의 sort_by name ASC하여이 작업을 수행 할 수 있습니다

:

  1. sort($this->categories, SORT_STRING) 또는 S ort($this->categories)을;
  2. ksort($this->categories) 키 정렬;
+0

감사합니다. sort ($ this-> categories); 완벽하게 일했습니다! – Moni