Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/07/2005, 22:47
DarioDario
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Bueno, estube aburrido y te confieso me mantubo 45 minutos ocupados . El que la fuente sea un array como el que pusiste trajo algunas complicaciones, pero lo pude resolver. Si de fuente tienes un string habria que hacer algunas modificaciones. Te explico rapidamente que fue lo que hice: Primero tube que formar un string a partir del array "original", a este string lo tube que volver a separar para tener cada dato separado adecuadamente en un array, despues cada dato lo tube que ordenar en un array diferente, apartir de aqui creo que el script se explica solo .
Código PHP:
<?php

// El array da algunos problemas ya que cada elemento termina con | sino fuera asi no habri ningun inconveniente
$juegos= array("Star Wars|25 dolares|Muy bueno|","Battlefield|30 dolares|Muy bueno|","Tony Hawk's|40 dolares|Muy bueno|");

// Formo una cadena
$cadena implode("",$juegos);

// Separo cada dato para ordenarlos en array's diferentes
$juegos_separados explode("|",$cadena);

// Los ordeno en array's diferentes
for($i 0;$i count($juegos_separados);$i += 3)
{
        
$game[] = $juegos_separados[$i];
        
$precio[] = $juegos_separados[$i+1];
        
$rank[] = $juegos_separados[$i+2];
}

// Ordeno el array podria ser asort() o arsort(), de menor a mayor y de mayor a menor respectivamente
arsort($precio);

// Declaro la variable para usarlo en el while, podria ser un for tambien
// pero sino se repite se obtiene practica ;-) ...
$i 0;

// El count() - 1 es porque en el array original se cola un elemento de mas por el signo |
while($i count($game) - 1)
{
        
$K key($precio);

        echo 
$game[$K]."-".current($precio)."-".$rank[$K]."<br>";

        
$i++;
        
next($precio);
}

?>
Me dio varios problemas el que los elementos terminen con " | ", y tube que recurrir a algunos "parches" .Esta comentado todo para que se entienda, perdona que no pude explicarlo ni desarrollarlo mejor pero ya es tarde y tengo que dormir . Saludos, espero que te sirva cualquier duda pregunta que tratare de mejorarlo un poco.