【问题标题】:order by max value multidimension array/object按最大值多维数组/对象排序
【发布时间】:2021-10-02 03:19:03
【问题描述】:

我需要按最大值 desc GrossConversions 排序这个数组/对象 从最大到最小 最多 10 个结果

我有这个输出要订购

    array(19) {
  [0] => object(stdClass) #355 (8) { ["campaign_name"]= > string(27)
  "Scrub Viso Granuli Vegetali" ["campaign_id"] => int(14)["currency"] => string(3)
  "EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [1] => object(stdClass) #356 (8) { ["campaign_name"]= > string(33)
"Crema Viso/collo Acido Jaluronico" ["campaign_id"] => int(16)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [2] => object(stdClass) #357 (8) { ["campaign_name"]= > string(13)
"Home Training" ["campaign_id"] => int(5)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [3] => object(stdClass) #358 (8) { ["campaign_name"]= > string(25)
"4x Libri di apprendimento" ["campaign_id"] => int(4)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(1)["pendingConversions"] => int(0)["grossConversions"] => int(2)["payout"] => int(15)["pendingPayout"] => int(0)
} [4] => object(stdClass) #359 (8) { ["campaign_name"]= > string(26)
"Tin-UP - Abbronzante Spray" ["campaign_id"] => int(11)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [5] => object(stdClass) #360 (8) { ["campaign_name"]= > string(23)
"Aspirapolvere Ciclonica" ["campaign_id"] => int(22)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [6] => object(stdClass) #361 (8) { ["campaign_name"]= > string(15)
"Centurion Power" ["campaign_id"] => int(12)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [7] => object(stdClass) #362 (8) { ["campaign_name"]= > string(27)
"Tonico Te' Bianco Te' Rosso" ["campaign_id"] => int(10)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
} [8] => object(stdClass) #363 (8) { ["campaign_name"]= > string(10)
"Air Freeze" ["campaign_id"] => int(13)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(1)["grossConversions"] => int(3)["payout"] => int(0)["pendingPayout"] => int(16)
} [9] => object(stdClass) #364 (8) { ["campaign_name"]= > string(17)
"Monopattino Urban" ["campaign_id"] => int(25)["currency"] => string(3)
"EUR" ["approvedConversions"] => int(0)["pendingConversions"] => int(0)["grossConversions"] => int(0)["payout"] => int(0)["pendingPayout"] => int(0)
}
}

如何按最大值 GrossConversions DESC 订购? 我试过了

 function cmp($a, $b) {
                if ($a['grossConversions'] == $b['grossConversions']) {
                    return 0;
                }
                return ($a['grossConversions'] < $b['grossConversions']) ? 1 : -1;
            }

            uasort($getReportCampaign->records, 'cmp');

但我收到此错误

致命错误:未捕获的错误:无法将 stdClass 类型的对象用作数组

【问题讨论】:

    标签: php arrays sorting object


    【解决方案1】:

    数组中的所有行都是标准对象。我猜你已经完成了 json_decode

    所以不是这个

    $a['grossConversions']
    

    这样做

    $a->grossConversions
    

    或者如果你想使用数组,做

    json_decode(json_encode($my_array, true), true)
    

    由于 json_decodetrue 参数,它会将您的 stdClass“转换”为关联数组(参见 docs

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 2014-07-09
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2017-01-26
      • 2012-06-15
      相关资源
      最近更新 更多