<?php

$data = [
	[
		'foo'	=> 1,
		'created_at'	=> DateTime::createFromFormat('d.m.Y', '04.03.2014')
	],
	[
		'foo'	=> 3,
		'created_at'	=> DateTime::createFromFormat('d.m.Y', '01.01.2014')
	],
	[
		'foo'	=> 2,
		'created_at'	=> DateTime::createFromFormat('d.m.Y', '24.12.2014')
	]
];

print_r($data);

uasort($data, function($a, $b) {
	$first = $a['created_at']->format('U');
	$second= $b['created_at']->format('U');
	
	if ($first == $second) {
        return 0;
    }
    return ($first < $second) ? -1 : 1;
});

print_r($data);