Entrada destacada

Como usar enums en Android, kotlin

Cómo ordenar un arreglo multidimensional por columna en PHP



Método para ordenar una matriz de datos mediante una una columna.

Supongamos que tenemos el siguiente arreglo de datos y necesitamos que los datos queden ordenados por fecha de nacimiento, ya sea en orden descendente o ascendente. 


Con el siguiente método podemos ordenar arreglos de indices asociados especificando el nombre de la columna.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php  
  
       /**
         * Metodo Publico
         * OrdenarMatrizColumna($MatrizRegistros = false, $Columna = false, $Orden = false)
         *
         * Ordena una matriz de registros en funcion de la columna indicada
         * @param $MatrizRegistros   : Matriz de registros desordenados
         * @param $Columna           : String Nombre de columna
         * @param $Orden             : String ASC o DESC -> default DESC
         * @return $MatrizRegistros  : Matriz de registros Ordenados
         */
        public static function OrdenarMatrizColumna(array $MatrizRegistros, $Columna = false, $Orden = false) {
            if (is_array($MatrizRegistros) == true and $Columna == true and $Orden == true) {
                $Orden = ($Orden == "ASC") ? SORT_ASC : SORT_DESC;
                foreach ($MatrizRegistros as $Arreglo) {
                    $Lista[] = $Arreglo[$Columna];
                }
                array_multisort($Lista, $Orden, $MatrizRegistros);
                return $MatrizRegistros;
            }
        }

Comentarios