fork(17) download
  1. <?php
  2.  
  3. $arr = array(
  4. 1 => array(
  5. 1 => '11/05/2013',
  6. 2 => 'Executive Planning Day'
  7. ),
  8. 2 => array(
  9. 1 => '13/06/2013',
  10. 2 => 'Middle Leaders Planning Day'
  11. ),
  12. 3 => array(
  13. 1 => '12/07/2013',
  14. 2 => 'New Staff Induction Day'
  15. ),
  16. 4 => array(
  17. 1 => '13/04/2013',
  18. 2 => 'Staff Conference Day No. 1'
  19. ),
  20. 5 => array(
  21. 1 => '14/04/2013',
  22. 2 => 'Staff Conference Day No. 2'
  23. ),
  24. 6 => array(
  25. 1 => '15/02/2013',
  26. 2 => 'Staff Conference Day No. 3'
  27. ),
  28. 7 => array(
  29. 1 => '16/03/2013',
  30. 2 => 'Australia Day'
  31. )
  32. );
  33.  
  34. uasort($arr, function($a, $b){
  35. $format = 'd/m/Y';
  36. $ascending = false;
  37. $zone = new DateTimeZone('UTC');
  38. $d1 = DateTime::createFromFormat($format, $a[1], $zone)->getTimestamp();
  39. $d2 = DateTime::createFromFormat($format, $b[1], $zone)->getTimestamp();
  40. return $ascending ? ($d1 - $d2) : ($d2 - $d1);
  41. });
  42.  
  43. print_r($arr);
  44.  
Success #stdin #stdout 0.02s 20520KB
stdin
Standard input is empty
stdout
Array
(
    [3] => Array
        (
            [1] => 12/07/2013
            [2] => New Staff Induction Day
        )

    [2] => Array
        (
            [1] => 13/06/2013
            [2] => Middle Leaders Planning Day
        )

    [1] => Array
        (
            [1] => 11/05/2013
            [2] => Executive Planning Day
        )

    [5] => Array
        (
            [1] => 14/04/2013
            [2] => Staff Conference Day No. 2
        )

    [4] => Array
        (
            [1] => 13/04/2013
            [2] => Staff Conference Day No. 1
        )

    [7] => Array
        (
            [1] => 16/03/2013
            [2] => Australia Day
        )

    [6] => Array
        (
            [1] => 15/02/2013
            [2] => Staff Conference Day No. 3
        )

)