PHP: Ordenar arrays multidimesionales segun un valor

Hace unas semanas en el sitio de ldu.com.ec me solicitaron realizar un listado de los goleadores del equipo, pero guardar datos de dos fases la actual y la previa y segun la suma de las fases ordenar el ranking, sin embargo los datos se guarban en un archivo xml y pues primero tenia que parsearlo y pasar uno a uno los jugadores para sacar cuantos goles llevaban sumados y pues el sistema es un formulario muy simple y pues el editor podria insertar la informacion en orden y listo, pero…. que pasaria si el editor no los ordena? el ranking ya no seria un ranking seria una simple lista cosa que en un portal deportivo no da muchas informacion.

Asi que a raiz de que en ese momento mi internet esta hecho una mi@$#a pues me saque un algoritmo y saque el siguiente codigo el cual es para usarlo en joomla sin embargo con unas pequeñas modificaciones podrian pasar cualquier array.

$nparams = new mosParameters( $list );    $nums = 14;    $jugador = array();    $goles = array();    $first = array();    $second = array();    for($i=0;$i<$nums;$i++){    if(trim( $nparams->get('jugador'.$i)) != ""){    $gol = intval($nparams->get('goles'.$i)) + intval($nparams->get('l0goles'.$i));    $goles[$i] = $gol;    $first[$i] = intval($nparams->get('goles'.$i));    $second[$i] = intval($nparams->get('l0goles'.$i));    $jugador[$i] = stripslashes( $nparams->get('jugador'.$i));    $a = $i - 1;    if($gol > $goles[$a]){    while(($gol > $goles[$a]) AND ($a >= 0)){    $jugador[$a + 1] = $jugador[$a];    $first[$a + 1] = $first[$a];    $second[$a + 1] = $second[$a];    $goles[$a + 1] = $goles[$a];    $goles[$a] = intval($nparams->get('goles'.$i)) + intval($nparams->get('l0goles'.$i));    $first[$a] = intval($nparams->get('goles'.$i));    $second[$a] = intval($nparams->get('l0goles'.$i));    $jugador[$a] = stripslashes( $nparams->get('jugador'.$i));    $a = $a - 1;    }    }    $tnums++;    }    }

Si se fijan el while es el que se encarga de re-ordenar el valor goles si el gol anterior es menor al actual.

comment ¿Que opinas?

Artículos recientes

close

TGIF: Magikarp Jump, el nuevo y absurdo juego de Pokémon para móviles

Magikarp Jump es el nuevo juego para móviles Android y iPhone basado en el universo de Pokémon; esta “broma” de juego es genial en muchos aspectos, no obstante, también es ridiculo en otros. Magikarp Jump…

close

KFC transforma su clásica cubeta en una contador de cuentos

KFC Suppertime Stories es una apuesta de KFC en América del Sur; la cual, es encabezada por su nuevo diseño interactivo de Packaging, el cual,  transforma la clásica cubeta de KFC en una lampará cuenta…

close

Diseños de lámparas origami inspiradas en animales

OWL paperlamps es la empresa encargada del diseño y elaboración de estas geniales lámparas de origami inspiradas en diferentes animales. Cabe señalar, que estas pueden ser adquiridas la tienda de Etsy; esto claro mediante un módico…

close

Creativas campañas para crear conciencia sobre el calentamiento global

El calentamiento global es un hecho y cada vez es más evidente en todas las ciudades del mundo; inviernos más crudos y terribles sequías forman parte del día a día en las noticias a nivel…

close

Lista de estrenos en Netflix para Junio 2017

Llega el mes de Junio y diferentes series y películas llegan a la plataforma de vídeo mediante streaming por excelencia; es por eso, que el día de hoy te presentamos cuales son los estrenos que…

close

Living Lights of the Ocean, fotografías de un mundo subacuático surrealista

Living Lights of the Ocean es obra de fotografía y diseño digital que nos presenta un maravilloso paisaje neón de un mundo subacuático completemente surrealista. Un podría jurar que se trata de modelados digitales a simple…

notifications Recién publicamos
close