Cytat(mortus @ 3.05.2012, 20:20:23 )

Nie do końca rozumiem problem, ale SORT_ASC, SORT_DESC, SORT_REGULAR, SORT_NUMERIC, SORT_STRING to stałe, które możemy zastąpić odpowiadającymi im cyframi - 4, 3, 0, 1, 2.
Funkcja jest "odporna" na takie wywolanie:
...
...
);
chcialem posprawdzac kilka warunkow i uzyc jej w petli zamiast pisac przydlugiego switcha i okazalo sie ze nydyrydy.
Ucze sie programowac z ksiazki Włodzimierza Gajdy "Praktyczne projekty", autor do sortowania 5-kolumnowej tablicy uzywa konstrukcji
switch ($kryterium) {
case 1:
$dane[0], SORT_ASC, SORT_STRING,
$dane[1], SORT_ASC, SORT_STRING,
$dane[2], SORT_ASC, SORT_NUMERIC,
$dane[3], SORT_ASC, SORT_STRING,
$dane[4], SORT_ASC, SORT_NUMERIC
);
break;
case 2:
$dane[1], SORT_ASC, SORT_STRING,
$dane[0], SORT_ASC, SORT_STRING,
$dane[2], SORT_ASC, SORT_NUMERIC,
$dane[3], SORT_ASC, SORT_STRING,
$dane[4], SORT_ASC, SORT_NUMERIC
);
break;
case 3:
$dane[2], SORT_ASC, SORT_NUMERIC,
$dane[1], SORT_ASC, SORT_STRING,
$dane[0], SORT_ASC, SORT_STRING,
$dane[3], SORT_ASC, SORT_STRING,
$dane[4], SORT_ASC, SORT_NUMERIC
);
break;
...
i tak wypisuje 10 casow.
Jako leniwy czlowiek pomyslalem ze po co tyle pisac, jak mozna inaczej:
* sprawdzic wg ktorej z 5 kolumn chcemy sortowac,
* stworzyc tablice ze wszystkimi pozostalymi indeksami,
* za pomoca is_int()sprawdzic ktoree elementy chcemy wywolac z SORT_NUMERIC a ktore z SORT_STRING - zapisac po kolei w tablicy $type
i wywolac
$daneH[$index[0]], $sort_kind, $type[1]
...
);