fork download
  1. <?php
  2.  
  3. $array = array(
  4. 'id' => '1',
  5. 'a_date' => '2016-04-30',
  6. ),
  7. 'id' => '2',
  8. 'a_date' => '2016-05-21',
  9. ),
  10. 'id' => '3',
  11. 'b_date' => '2016-05-30',
  12. ),
  13. 'id' => '4',
  14. 'b_date' => '2016-04-02',
  15. ),
  16. );
  17. $sort = array();
  18. foreach( $array as $key => $value ) {
  19. $sort[ $key ] = ( isset( $value['a_date'] ) ) ? $value[ 'a_date' ] : $value[ 'b_date' ];
  20. }
  21. array_multisort( $sort, $array );
  22. var_dump( $array );
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
array(4) {
  [0]=>
  array(2) {
    ["id"]=>
    string(1) "4"
    ["b_date"]=>
    string(10) "2016-04-02"
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["a_date"]=>
    string(10) "2016-04-30"
  }
  [2]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["a_date"]=>
    string(10) "2016-05-21"
  }
  [3]=>
  array(2) {
    ["id"]=>
    string(1) "3"
    ["b_date"]=>
    string(10) "2016-05-30"
  }
}