2013-09-21 49 views
0

我正在使用https://github.com/brunogaspar/cartify庫來管理我的購物車。東西也不錯,但事實上,我需要能夠通過price關鍵DESC使用特定鍵對包含數組的對象進行排序,DESC

如果我使用的是Cartify::cart()->contents(),這裏包含的一個項目的例子包含了array內的項目進行排序:

array(
    'id'  => 'sku_123ABC', 
    'qty'  => 1, 
    'price' => 39.95, 
    'name' => 'T-Shirt', 
    'options' => array(
     'size' => 'L', 
     'color' => 'Red' 
    ) 

正如你所看到的那樣,有一個price鍵......如果我無法在課堂上進行排序,我必須在事實之後對這些項目進行排序。

+0

[如何通過PHP中給定鍵的值對關聯數組的數組進行排序](http://stackoverflow.com/questions/1597736/how-to-sort-an-array-of-associative -arrays按值對的一給出的密鑰功能於PHP) – Dominik

回答

1

您可以使用usort和自定義比較功能。像這樣的:

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

不是最優雅的解決方案,將密鑰硬編碼到排序函數,但它會工作。

相關問題