Sütunlara öğelerin sayısını dinamik kadar bölme

0 Cevap php

Ben sütunlara bölmek gerekir hangi öğelerin dinamik bir dizi var. Diyelim ki bu verilen ediyorum diyelim:

array("one", "two", "three", "four", "five", "six", "seven", "eight")

Ben bu oluşturmak gerekiyor:

<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
  <li>four</li>
</ul>
<ul>
  <li>five</li>
  <li>six</li>
  <li>seven</li>
  <li>eight</li>
</ul>

İşte bazı kurallar şunlardır:

  • hiçbir öğe varsa, ben bir şey tükürdü olmak istemiyorum
  • 16 ya da 16 öğeler altında varsa, kimliği başına 4 öğeleri gibi <ul>
  • 16'dan fazla ürün varsa, bunu eşit yaymak olmak istiyorum
  • Ben alfabetik sipariş öğeleri gerekecek. 17 ürün varsa, 17. madde ilk sütuna gitmek gerekir ama her şey yeniden düzenlenmesi gerekmektedir.

Ben bugüne kadar ne:

function divide( $by, $array ) {
 14     $total = count( $array );
 15     $return = array();
 16     $index=0;
 17     $remainder = $total % $by !== 0;
 18     $perRow = $remainder ?
 19         $total / $by + 1:
 20         $total / $by
 21         ;
 22 
 23     for ( $j = 0; $j<$by; $j++ ) {
 24         //$return[] = array();
 25 
 26         if ( $index == 0 ) {
 27             $slice = array_slice( $array, 0, $perRow );
 28             $index = $perRow;
 29             $return[$j] = $slice;
 30         } else {
 31             $slice = array_slice( $array, $index, $perRow );
 32             $index = $index+$perRow;
 33             $return[$j] = $slice;
 34         }
 35     }
}

Bu yüzden sütun sayısını belirler ben sütun sayısı # dikte, bölmek (4, $ arrRef) gibi bir sayı beslemek, ama ben refactor gerekiyor

0 Cevap