Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/09/2011, 10:56
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Array en php (orden)

Existen las funciones uasort, uksort y usort que permiten definir una función de comparación a utilizar como criterio de comparación.

http://www.php.net/manual/es/function.uasort.php

http://www.php.net/manual/es/function.uksort.php

http://www.php.net/manual/es/function.usort.php

Te interesan para tu caso uksort o usort. Uasort no te sirve porque mantiene la asociación entre clave y valor (es decir, si asturias tiene el índice 0, este seguiría siendo 0 al ordenar).

Te dejo un ejemplo con una comparación sencilla, pero se puede complicar tanto como quieras:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function cmp($a, $b)
  4. {
  5.     if ($a == $b) {
  6.         return 0;
  7.     }
  8.     return ($a > $b) ? -1 : 1;
  9. }
  10.  
  11. $a = array("santiago","asturias", "madrid", "leganes", "mallorca");
  12.  
  13. usort($a, "cmp");
  14.  
  15. foreach ($a as $clave => $valor) {
  16.     echo "$clave: $valor\n";
  17. }
  18.  
  19.  
  20. ?>