fork download
  1. <?php
  2.  
  3. function cmp($a, $b)
  4. {
  5. if ($a['qtr'] > $b['qtr']) {
  6. return -1;
  7. } elseif(($a['qtr'] == $b['qtr'])) {
  8. if(($a['qty'] > $b['qty'])) {
  9. return 1;
  10. } else {
  11. return -1;
  12. }
  13. } else{
  14. return 1;
  15. }
  16.  
  17. }
  18.  
  19. $array = array(
  20. 0 => array(
  21. 'name' => 'Тест 1',
  22. 'qty' => '1',
  23. 'qtr' => '0',
  24. ),
  25. 1 => array(
  26. 'name' => 'Тест 2',
  27. 'qty' => '2',
  28. 'qtr' => '1',
  29. ),
  30. 2 => array(
  31. 'name' => 'Тест 3',
  32. 'qty' => '5',
  33. 'qtr' => '3',
  34. ),
  35. 3 => array(
  36. 'name' => 'Тест 4',
  37. 'qty' => '5',
  38. 'qtr' => '0',
  39. ),
  40. 4 => array(
  41. 'name' => 'Тест 5',
  42. 'qty' => '3',
  43. 'qtr' => '1',
  44. ),
  45. );
  46.  
  47. usort($array, "cmp");
  48.  
  49.  
  50. print_r($array);
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [name] => Тест 3
            [qty] => 5
            [qtr] => 3
        )

    [1] => Array
        (
            [name] => Тест 2
            [qty] => 2
            [qtr] => 1
        )

    [2] => Array
        (
            [name] => Тест 5
            [qty] => 3
            [qtr] => 1
        )

    [3] => Array
        (
            [name] => Тест 1
            [qty] => 1
            [qtr] => 0
        )

    [4] => Array
        (
            [name] => Тест 4
            [qty] => 5
            [qtr] => 0
        )

)