Foros del Web » Programando para Internet » PHP »

ordenar numeros

Estas en el tema de ordenar numeros en el foro de PHP en Foros del Web. hola que tal, bueno tengo un array con una serie de numeros ejemplo: $algo = array ("4","6","1","17","etc","etc","etc,"); y lo que quiero es mostrarlos en orden ...
  #1 (permalink)  
Antiguo 20/05/2003, 19:28
Avatar de gerzok  
Fecha de Ingreso: diciembre-2002
Ubicación: Zapopan, Jalisco, Mexico
Mensajes: 132
Antigüedad: 21 años, 10 meses
Puntos: 1
ordenar numeros

hola que tal,

bueno tengo un array con una serie de numeros ejemplo:

$algo = array ("4","6","1","17","etc","etc","etc,");

y lo que quiero es mostrarlos en orden inverso osea de mayor a menor algo asi como:

15
14
11
9
5
2
1

segun contenga los elementos el array, bueno de antemano agradesco sus respuestas...


saLudOs
  #2 (permalink)  
Antiguo 20/05/2003, 21:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Quita las comillas a tus "numeros" .. así seran Enteros y no cadenas alfanumericas como lo son si usas comillas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/05/2003, 23:09
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 22 años
Puntos: 1
Odenar numeros

mira primero debes hacer lo que te dice el Maestro Cluster .

Bueno para ordenar tu arreglo puedes hacer algo asi:



Código PHP:
for ($i=0;$i<count($algo);$i++){
   for(
$j=0;$j<count($algo);$j++){
          if (
$algo[i]< $algo[j]){
                  
$temp $algo[i];
                  
$algo[i]=$algo[j];
                  
$algo[j]=$temp;
           }
   }


espero te sirva.

si quieres ordenarlo de menor a mayor solo cambia el signo del if
  #4 (permalink)  
Antiguo 20/05/2003, 23:18
 
Fecha de Ingreso: mayo-2003
Ubicación: Medellín
Mensajes: 187
Antigüedad: 21 años, 6 meses
Puntos: 0
Tambien puedes utilizar las funciones arsort() y asort(). Mira el manual.
__________________
- Julian
http://www.laneros.com
  #5 (permalink)  
Antiguo 20/05/2003, 23:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Jeje .. no me percaté en la pregunta en sí .. sólo ví ese problemilla ..

Bueno .. El método que pone payo22 si mal no recuerdo es el de "burbuja" (jeje buff q recuerdos, hacía mucho q no lo veia ..).

Funciona sí .. pero PHP ya incorpora un buen número de funciones para ordenar un array con más que usar una simple función:

Por ejemplo:

sort()
http://www.php.net/manual/en/function.sort.php

Por cierto .. no me acordaba .. pero disponde de "flag's" la funcioncita para indicarle como va a ordenar esos elementos de tu array .. Por ejemplo si tus "números" son cadenas (strings-alfanuméricos) .. podrías "forzar" a SORT_NUMERIC por ejemplo ...

Una vez ordenada tu array con sort() .. "le das la vuelta" al array con:

array_reverse()
http://www.php.net/manual/en/function.array-reverse.php

Osease, en 2 líneas de código PHP te resuelve el problema. Eso no quita que conozcas esos algoritmos de ordenamiento y demas teorías .. pero en lo funcional .. busca las funciones PHP si existen.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.