pain3hp
23.12.2010, 23:03:52
potrzebuję zrobić drzewko kategorii, wyjdźmy z założenia że mam tablicę nazw kategorii X-elementową, trzeba ułożyć je w trzech kolumnach tak aby różnica ilości tych kategorii w każdej z kolumn nie była większa niż 1;
dla zobrazowania problemu rozpiszę tablicę 9 elementową 11 i 10
[1][4][7]
[2][5][8]
[3][6][9]
[01][05][09]
[02][06][10]
[03][07][11]
[04][08]
[01][05][08]
[02][06][09]
[03][07][10]
[04]
agmakonts
24.12.2010, 09:48:13
Wiem że bałagan i brzydko ale na mój gust działa
$array = range(0
,15
); // Twoja tablica $kolumny = 3; // Ile chcesz kolumn
$wiersze = $count/$kolumny;
$reszta = $count % $kolumny;
$kolumna = 0;
$wiersz = 1;
foreach($array as $element)
{
$dodatkowy = ($reszta > 0) ? 1 : 0;
if($wiersz > $wiersze + $dodatkowy){
$kolumna++;
$wiersz = 1;
$reszta--;
}
$efekt['kolumna'.($kolumna+1)][] = $element;
$wiersz++;
}