fork download
  1. <?php
  2.  
  3. $array = array(
  4. 'name' => 'title 1',
  5. 'price' => 200,
  6. 'order' => 8
  7. ),
  8. 'name' => 'title 2',
  9. 'price' => 100,
  10. 'order' => 3
  11. )
  12. );
  13.  
  14. function sortBy(&$arr, $field) {
  15. return usort($arr, function ($a, $b) use ($field) {
  16. return $a[$field] - $b[$field];
  17. });
  18. }
  19.  
  20. sortBy($array, 'price');
  21. var_dump($array);
  22.  
  23. sortBy($array, 'order');
  24. var_dump($array);
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
array(2) {
  [0]=>
  array(3) {
    ["name"]=>
    string(7) "title 2"
    ["price"]=>
    int(100)
    ["order"]=>
    int(3)
  }
  [1]=>
  array(3) {
    ["name"]=>
    string(7) "title 1"
    ["price"]=>
    int(200)
    ["order"]=>
    int(8)
  }
}
array(2) {
  [0]=>
  array(3) {
    ["name"]=>
    string(7) "title 2"
    ["price"]=>
    int(100)
    ["order"]=>
    int(3)
  }
  [1]=>
  array(3) {
    ["name"]=>
    string(7) "title 1"
    ["price"]=>
    int(200)
    ["order"]=>
    int(8)
  }
}