La siguiente función nos permite ordenar un array multidimensionar por un campo, además podemos indicarle si lo queremos ordenar de forma ascendente o descendente.

    function orderMultiDimensionalArray ($toOrderArray, $field, $inverse) {  
        $position = array();  
        $newRow = array();  
        foreach ($toOrderArray as $key => $row) {  
                $position[$key]  = $row[$field];  
                $newRow[$key] = $row;  
        }  
        if ($inverse) {  
            arsort($position);  
        }  
        else {  
            asort($position);  
        }  
        $returnArray = array();  
        foreach ($position as $key => $pos) {       
            $returnArray[] = $newRow[$key];  
        }  
        return $returnArray;  
    }  

La función es muy sencilla, $toOrderArray es el array que vamos a ordenar, $field es el campo por el que queremos ordenar el array y $inverse es la forma en el que queremos ordenarlo, si le ponemos el valor false lo hará de forma ascendente y si le ponemos true de forma descendente.

Aquí os dejo otra función que ordena alfabéticamente un array multidimensional por el campo indicado:

function subval_sort($a,$subkey) 
{
     foreach($a as $k=>$v) {
          $b[$k] = strtolower($v[$subkey]);
     }
     asort($b);
     foreach($b as $key=>$val) {
          $c[] = $a[$key];
     }
     return $c;
}

Sobre Reacción Estudio

Somos un estudio informático formado por jóvenes centrados en el desarrollo web, el diseño gráfico y la fotografía. Puedes solicitar presupuesto para tu proyecto a través de nuestra página web o por teléfono, pero en este blog hablaremos de todo lo que engloba el desarrollo web a día de hoy.


Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.     ACEPTAR