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

Ya puedes crear álbumes de fotos en Instagram

Instagram continua evolucionando y agregando cada vez mas mejores, aunque seamos sinceros las últimas no han sido precisamente innovaciones, mas bien han sido copias de funciones que ya tenía Snapchat, pero bueno la última actualización…

close

play_circle_outline Genial timelapse que muestra la evolución del NY Times y la fotografía periodística

El NY Times es uno de los iconos periodísticos en el mundo actual; sin embargo muchas veces no nos ponemos a pensar como es que llego a ser lo que es hoy en día. Es…

close

Diseños de folletos hechos de cartón; un gran ejemplo de diseño sustentable

El diseño sustentable es una de las tendencias con más fuerzas en este 2017; esto debido a la creciente tendencia de los diseñadores de ser amigables con el ambiente. Es por eso que el diseñador irlandés Ryan…

close

Dilapidation, una genial serie fotografica sobre lugares olvidados

James Kerwin es un fotógrafo con sede en Norwich quien ha comenzó un proyecto fotográfico centrado en la documentación de lugares abandonados. Este fotógrafo ha recorrido diversas partes del mundo localizando edificios y lugares dejados…

close

Propeller, un framework para crear paginas web que combina Bootstrap + Material Design

Propoller es nuevo framework para diseño de paginas web que integra dos de los frameworks mas populares, Bootstrap y Google’s Material Design, entonces podríamos decir que Propeller es un mashup de frameworks que combina lo…

close

Tips de fotografía según el tipo de lente que utilices

Les comparto una serie de infografías realizadas por Canon en la que nos ofrecen algunos tips de fotografía según el tipo de lentes que utilicemos, cada infografía abarca un tipo de lentes distinto desde los…

notifications Recién publicamos
close