PHP array_multisort with, SORT_DES C & SORT_NUMERIC - PullRequest
0 голосов
/ 09 апреля 2020

Сначала позвольте мне сказать, что я надеюсь, что все в порядке и запасы на данный момент есть в наличии. Многим из нас трудно сосредоточиться на работе, которую я себе представляю, и я действительно ценю вашу помощь заранее.

Учитывая функцию array_multisort ($ items, SORT_DES C, SORT_NUMERI C);

И учитывая, что я пытаюсь отсортировать многомерные массивы в следующем формате в порядке убывания startDate (поэтому самая последняя дата всегда находится в [0]), а НЕ сортировать в поле курса (в другом слова, если скорость не увеличивается, остается неизменной, или падает, или изменяется каким-либо образом, мне все еще нужны самые последние данные), я чувствую, что не понимаю, как это работает. Во многих, многих случаях это работает правильно, но в некоторых случаях это не так, и я чувствую, что сортирует по столбцу даты и по курсу, если они оба рассматриваются как «цифра c». Например, в случае ниже, он работает правильно. Кто-нибудь может пролить свет на это?

  array(4) {
  [0]=>
  array(8) {
    ["startDate"]=>
    string(10) "2016-03-28"
    ["rate"]=>
    string(5) "15.00"
    ["type"]=>
    string(6) "Hourly"
    ["exempt"]=>
    string(0) ""
    ["reason"]=>
    string(0) ""
    ["comment"]=>
    string(0) ""
    ["paidPer"]=>
    string(4) "Hour"
    ["paySchedule"]=>
    string(7) "Monthly"
  }
  [1]=>
  array(8) {
    ["startDate"]=>
    string(10) "2017-09-11"
    ["rate"]=>
    string(7) "2500.00"
    ["type"]=>
    string(6) "Salary"
    ["exempt"]=>
    string(6) "Exempt"
    ["reason"]=>
    string(17) "Equity Adjustment"
    ["comment"]=>
    string(29) "Increase for 2017 performance"
    ["paidPer"]=>
    string(9) "PayPeriod"
    ["paySchedule"]=>
    string(16) "Every other week"
  }
  [2]=>
  array(8) {
    ["startDate"]=>
    string(10) "2018-11-05"
    ["rate"]=>
    string(7) "2692.31"
    ["type"]=>
    string(6) "Salary"
    ["exempt"]=>
    string(6) "Exempt"
    ["reason"]=>
    string(15) "Annual Increase"
    ["comment"]=>
    string(25) "2018 Performance Increase"
    ["paidPer"]=>
    string(9) "PayPeriod"
    ["paySchedule"]=>
    string(16) "Every other week"
  }
  [3]=>
  array(8) {
    ["startDate"]=>
    string(10) "2019-11-25"
    ["rate"]=>
    string(7) "3076.93"
    ["type"]=>
    string(6) "Salary"
    ["exempt"]=>
    string(6) "Exempt"
    ["reason"]=>
    string(15) "Annual Increase"
    ["comment"]=>
    string(21) "2019 Performance (KS)"
    ["paidPer"]=>
    string(9) "PayPeriod"
    ["paySchedule"]=>
    string(16) "Every other week"
  }
}
...