Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2014, 16:16
sub7
 
Fecha de Ingreso: junio-2008
Mensajes: 34
Antigüedad: 16 años, 5 meses
Puntos: 0
Ordenar Array de Mayor a menor por valor de atributo

Buenas caballer@s!

Lo que necesito hacer mira que es una tonteria, pero no tengo narices de sacarla.
Os cuento la historia y después os muestro el código.

Tengo un .xml con una tracklist y diferentes tracks, cada track tiene varios valores como: nombre, url, votos y posicion.
Y por otro lado tengo una web donde QUIERO mostrar esos registros del .xml ordenados de MAYOR a menor según el nº de votos de cada track.

El .xml
Código:
<tracklist>
		<track>
			<nombre>track 01</nombre>
			<url>_</url>
			<votos>10</votos>
			<posicion>4</posicion>
		</track>
		<track>
			<nombre>track 02</nombre>
			<url>_</url>
			<votos>20</votos>
			<posicion>3</posicion>
		</track>
		<track>
			<nombre>track 03</nombre>
			<url>_</url>
			<votos>5</votos>
			<posicion>5</posicion>
		</track>
            <tracklist>
He probado con el método de ordenación de Burbuja, pero ni en ASC ni en DESC.
El código php:
Código:
$p = 0;
	foreach($info->tracklist->track as $track){
		$lista[$p] = $track;
		$p++;
	}
	$numTracks = count($lista);

	for ($i=0; $i<$numTracks; $i++){ 
	    for($j=0; $j<$numTracks; $j++){ 
			if(($lista[$i]->votos) < ($lista[$j]->votos)){ 
				$temp = $lista[$i]; 
				$lista[$i]=$lista[$j]; 
				$lista[$j]=$temp;
				
				echo "<br><br>";
				echo "Nombre: ".$lista[$i]->nombre." | Votos: ".$lista[$i]->votos;
			} 
		}
	}

A ver si los que trabajais dia a dia con este lenguage me podeis echar una mano.
Muchas gracias!