Clasificación con un módulo
Estoy tratando de ordenar una lista en columnas con uksort.
La matriz ya está ordenada alfa, por lo que es comoarray('A','B','C','D','E','F','G','H','I','J','K','L','M')
Que se muestra en html, como elementos flotantes:
A B C D
E F G H
I J K L
M
Quiero que se reordene para que se muestre así:
A E H K
B F I L
C G J M
D
Así que la matriz ordenada sería:array('A','E','H','K','B','F','I','L','C','G','J','M','D'
Básicamente, lo mismo que Ordenar una lista alfabéticamente con un módulo pero para php. Intenté tomar la solución para javascript y convertirla a php, pero no estoy haciendo nada bien. ¿Alguien tiene alguna idea de cómo hacer esto en php?
Esto es lo que he intentado:
function cmp_nav_by4($a, $b) {
if (($a % 5) < ($b % 5)) {
return 1;
} elseif (($a % 4) > ($b % 4)) {
return -1;
} else {
return $a < $b ? 1 : -1;
}
}
$result = uksort($thearray, "cmp_nav_by4");