我有一個數組,如下所示。我想按升序對srp的值進行排序。我怎樣才能在PHP中做到這一點。我是初學者,我認爲它可以使用usort(),但我不知道如何去做。帶有鍵值的PHP排序數組排序
Array
(
[0] => stdClass Object
(
[_id] => 5911af8209ed4456d069b1d3
[title] => Zen M4S(Silver)
[mrp] => 0
[srp] => 1900
)
[1] => stdClass Object
(
[_id] => 5911af8209ed4456d069b1d2
[title] => Zen M4S(Silver)
[mrp] => 0
[srp] => 1000
)
[2] => stdClass Object
(
[_id] => 5911af8209ed4456d069b1d4
[title] => JIVI X525(Red)
[mrp] => 0
[srp] => 1250
)
)
所需的輸出:
Array
(
[0] => stdClass Object
(
[_id] => 5911af8209ed4456d069b1d2
[title] => Zen M4S(Silver)
[mrp] => 0
[srp] => 1000
)
[1] => stdClass Object
(
[_id] => 5911af8209ed4456d069b1d4
[title] => JIVI X525(Red)
[mrp] => 0
[srp] => 1250
)
[2] => stdClass Object
(
[_id] => 5911af8209ed4456d069b1d3
[title] => Zen M4S(Silver)
[mrp] => 0
[srp] => 1900
)
)
我的班級是這樣的:
class TopDealsDAOMongoImpl implements TopDealsDAO{ //put your code here public function getTopDeals() { $topDeals = json_decode(json_encode(MasterAffiliateProductMappingMongo::select("product_id","affiliate_id","title","our_product_id","mrp","srp","product_url","category_name","ID")->where('top_deal','true')->get())); function my_sort($a,$b) { if ($a->srp == $b->srp) return 0; return ($a->srp < $b->srp)?-1:1; } uasort($topDeals, 'my_sort'); } }
的可能的複製[如何通過在PHP給定的鍵的值進行排序關聯數組的數組?](https://stackoverflow.com/questions/1597736/如何對數組中的關聯數組進行排序) –
那裏提供的答案會產生錯誤:不能使用stdClass類型的對象作爲數組 – Dexter
之前在SO上張貼問題。嘗試自我解決和研究。當您發佈重複問題時,您會造成網站膨脹並浪費志願者的時間。 – mickmackusa