fork download
  1. <?php
  2.  
  3. $data = [
  4. [
  5. 'foo' => 1,
  6. 'created_at' => DateTime::createFromFormat('d.m.Y', '04.03.2014')
  7. ],
  8. [
  9. 'foo' => 3,
  10. 'created_at' => DateTime::createFromFormat('d.m.Y', '01.01.2014')
  11. ],
  12. [
  13. 'foo' => 2,
  14. 'created_at' => DateTime::createFromFormat('d.m.Y', '24.12.2014')
  15. ]
  16. ];
  17.  
  18. print_r($data);
  19.  
  20. uasort($data, function($a, $b) {
  21. $first = $a['created_at']->format('U');
  22. $second= $b['created_at']->format('U');
  23.  
  24. if ($first == $second) {
  25. return 0;
  26. }
  27. return ($first < $second) ? -1 : 1;
  28. });
  29.  
  30. print_r($data);
Success #stdin #stdout 0.02s 20520KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [foo] => 1
            [created_at] => DateTime Object
                (
                    [date] => 2014-03-04 05:51:47
                    [timezone_type] => 3
                    [timezone] => UTC
                )

        )

    [1] => Array
        (
            [foo] => 3
            [created_at] => DateTime Object
                (
                    [date] => 2014-01-01 05:51:47
                    [timezone_type] => 3
                    [timezone] => UTC
                )

        )

    [2] => Array
        (
            [foo] => 2
            [created_at] => DateTime Object
                (
                    [date] => 2014-12-24 05:51:47
                    [timezone_type] => 3
                    [timezone] => UTC
                )

        )

)
Array
(
    [1] => Array
        (
            [foo] => 3
            [created_at] => DateTime Object
                (
                    [date] => 2014-01-01 05:51:47
                    [timezone_type] => 3
                    [timezone] => UTC
                )

        )

    [0] => Array
        (
            [foo] => 1
            [created_at] => DateTime Object
                (
                    [date] => 2014-03-04 05:51:47
                    [timezone_type] => 3
                    [timezone] => UTC
                )

        )

    [2] => Array
        (
            [foo] => 2
            [created_at] => DateTime Object
                (
                    [date] => 2014-12-24 05:51:47
                    [timezone_type] => 3
                    [timezone] => UTC
                )

        )

)