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