Ordenar un array por fechas en PHP

Seguramente ya conocerás la función sort para ordenar un array en PHP. Pero además de ésta existe otra función muy útil a la hora de ordenar arrays; se trata de la función usort. Una de las ventajas de esta función es que nos permite ordenar un array por fechas.

Ejemplo de usort para ordenar por fechas:

<?php
$fechas_nacimiento = array(
    array(
        'nombre' => 'Paco',
        'fecha'  => '22-12-2012'
    ),
    array(
        'nombre' => 'Luis',
        'fecha'  => '30-08-2012'
    ),
    array(
        'nombre' => 'Mar&iacute;a',
        'fecha'  => '25-01-2013'
    )
);
 
function ordenar( $a, $b ) {
    return strtotime($a['fecha']) - strtotime($b['fecha']);
}
 
function mostrar_array($datos) {
	foreach($datos as $dato) 
		echo "{$dato['fecha']} -&gt; {$dato['nombre']}<br/>";
}
 
 
usort($fechas_nacimiento, 'ordenar');
 
mostrar_array($fechas_nacimiento);
 
?>

Que nos dará como resultado:

30-08-2012 -> Luis
22-12-2012 -> Paco
25-01-2013 -> María

One thought on “Ordenar un array por fechas en PHP

  1. muchísimas gracias!! no me la sabía!
    el único cambio que yo le hice apra tu ejemplo es al momento de imprimir que simplemente puse el arreglo así:

    echo “”; print_r($fechas_nacimiento); echo “”;

    en vez de la funcion para ver mejor los datos 😛

Deja un comentario