Foros del Web » Programando para Internet » PHP »

sort() ?

Estas en el tema de sort() ? en el foro de PHP en Foros del Web. Hola como les va Tengo una duda y queria ver si me podian ayudar. Tengo un programita que me guarda en un array unos links ...
  #1 (permalink)  
Antiguo 15/04/2009, 06:36
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
sort() ?

Hola como les va

Tengo una duda y queria ver si me podian ayudar.

Tengo un programita que me guarda en un array unos links con un numero adelante y yo necesito que quede ordenado de mayor a menor ese listado. Supongo que tengo que usar sort() pero no me funciona.


Esto lo pongo fuera del while() para crear la variable del array : $arr = Array();

Esto lo pongo dentro del while : $arr[sizeof($arr)] = $pagerank. " " . $dominio. "\n";

y esto lo pongo para que me lo mande a un txt : $urlWrite=$arr[sizeof($arr)-1];

En que parte tendria que poner sort() o el que sea para que me lo ordene y como se escribiria.

Muchas Gracias

Nico
  #2 (permalink)  
Antiguo 15/04/2009, 07:41
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: sort() ?

busca la funcion que mas te sirva aqui
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 15/04/2009, 07:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: sort() ?

Hola .. Gracias ya estuve viendo eso pero no puedo encontrar cual va y como se escribe por eso es que necesito la ayuda de alguien para ver como ordenarlo

Saludos !
  #4 (permalink)  
Antiguo 15/04/2009, 07:57
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sort() ?

una vez el array tenga todos los enlaces que necesitas podrías probar:

Código PHP:
sort($arrSORT_NUMERIC); 
Sin embargo, ten encuenta lo que dice el manual de php para este tipo de funciones:
Cita:
Warning

Tenga cuidado cuando ordene matrices con tipos de datos mixtos porque sort() puede producir resultados impredecibles.
__________________
Usuario Reigistrado de linux #399288
  #5 (permalink)  
Antiguo 15/04/2009, 08:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: sort() ?

Muchas Gracias pero no me funciona , si alguien tiene otra idea buenisimo.... Gracias
  #6 (permalink)  
Antiguo 15/04/2009, 08:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: sort() ?

otra opcion podria ser un array multidimensional ? El problema es que no se como hacerlo .
Yo tengo $dominio = ("$links"); donde esta la url
y $pagerank = get_page_rank($dominio); donde me da un numero de 0 a 10 para ver cual es.
Podria hacerlo con esto y ordenarlo ? Alguien sabe como se hace ?

Gracias

Alguna solucion de cualquier manera me vendria bien
  #7 (permalink)  
Antiguo 15/04/2009, 08:46
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sort() ?

¿Cómo son los enlaces resultantes? osea, un ejemplo del resultado de $arr[sizeof($arr)] = $pagerank. " " . $dominio. "\n";

¿Qué resultado obtuviste con sort()?


Asumiendo un array con enlaces de esta forma:

Código:
8 http://www.sitio.com/
5 http://www.sitio.com/
10 http://www.sitio.com/

sort($arr, SORT_NUMERIC) generaría

Código:
5 http://www.sitio.com/
8 http://www.sitio.com/
10 http://www.sitio.com/

rsort($arr, SORT_NUMERIC) generaría:

Código:
10 http://www.sitio.com/
8 http://www.sitio.com/
5 http://www.sitio.com/
__________________
Usuario Reigistrado de linux #399288
  #8 (permalink)  
Antiguo 15/04/2009, 09:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: sort() ?

Perdona que te moleste nuevamente pero no me funciona no me hace nada..... Puede que este mal hacer el array asi y haya que hacerlo de otra manera. Yo necesito junta una variable con la otra y el resultado de cada link con su numero , ordenarlo por el numero de adelante

Gracias nuevamente
  #9 (permalink)  
Antiguo 15/04/2009, 09:15
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sort() ?

Eso no contesta la pregunta que hice, y la hice para saber por qué puede fallar la evalución hecha por quicksort (lo que usa sort y funciones relacionadas).

Otra cosa es que no se si pretendes mostrar estos enlaces en pantalla, guardarlos en una DB, en un archivo de texto o enviarlos por correo pero en cualquiera de los casos, si a lo mejor estás esperando que sort() o rsort() genere algún resultado visible además de ordenar el array, tal cosa no pasará

Las funciones sort() solo ordenan, no hacen absolutamente más nada, lo que significa que una vez que haz llamado sort($arr) en alguna parte, deberás usar otro código para mostrar o trabajar con el array, ahora, ordenado.

Para hacer todo más sencillo para tí y para los que te puedan ayudar, es mejor que coloques tu código acá, el código completo encargado de crear el array y mostrarlo o guardarlo en la db o enviarlo a un documento de texto o por correo o lo que sea que hagas con ese array, también sería bueno que agregaras los diferentes valores de las asociaciones de las variables, por ejemplo:

Código PHP:

$pagerank 
get_page_rank($dominio); // Esto es un entero, ejemplo: 5

$arr[sizeof($arr)] = $pagerank" " $dominio"\n"// Esto es un enlace tipo 10 http://cosa.x/ 
__________________
Usuario Reigistrado de linux #399288
  #10 (permalink)  
Antiguo 15/04/2009, 09:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: sort() ?

Lo que yo hago es buscar 10 links, que busquen despues el PR de cada link y eso lo pasa a un txt. Por lo que me decis no puedo usar el sort para esto no ? Con que otra cosa lo podria ordenar ?

Gracias y disculpa por las molestias
  #11 (permalink)  
Antiguo 15/04/2009, 09:36
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sort() ?

No es molestia :)


Si, si se podría usar sort o en tu rsort (porque los quieres de mayor o menor)

Un ejemplo de tal cosa podría ser este:

Código PHP:

rsort
($arrSORT_NUMERIC);

$gestor fopen('archivo.txt''w');

foreach (
$arr as $direccion)
{
    
fwrite($gestor$direccion);
}

fclose($gestor); 
Nuevamente, sin saber cómo "se ven" realmente los enlaces ni tampoco conocer todo el código que estás usando, solo puedo inferir cosas y de igual manera no puedo saber bien por qué sort podría fallar.
__________________
Usuario Reigistrado de linux #399288
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 11:50.