[PHP] Funkcja sortująca tablice wielowymiarowe
Typowe funkcje sortujące wbudowane w PHP działają, ale nie zawsze tak, jakbyśmy chcieli. Stworzyłem tablicę, która zawiera różne dane, między innymi datę. I jak tu posortować taką tablicę wg „wieku” rekordów??
I znowu z pomocą przyszedł wujek Google. Znalazłem mała, ale fajnie sprytną funkcję, dzięki której można sortować tablice wielowymiarowe:
1 |
<br/>function sort_multi_array($mult_array , $field , $sort_type="ASC_NUM")<br/>{<br/> $code = '';<br/> switch($sort_type) {<br/> case 'ASC_NUM':<br/> $code .= 'return strcmp($a["'.$field.'"], $b["'.$field.'"]);';<br/> break;<br/> case 'DESC_NUM':<br/> $code .= 'return (-1*strcmp($a["'.$field.'"], $b["'.$field.'"]));';<br/> break;<br/> }<br/><br/> $compare = create_function('$a, $b', $code);<br/> usort($mult_array, $compare);<br/> return $mult_array;<br/>} |