0

我正在使用https://github.com/brunogaspar/cartify库来管理我的购物车。一切都很好,除了我需要能够array通过price键对包含在其中的项目进行排序DESC

如果我使用Cartify::cart()->contents(),这里是包含的项目之一的示例:

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

如您所见,有一个price关键......如果我不能在班级级别上排序,我将不得不在事后对这些项目进行排序。

4

1 回答 1

1

您可以使用usort自定义比较函数来执行此操作。像这样的东西:

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

将键硬编码到排序函数中并不是最优雅的解决方案,但它会起作用。

于 2013-09-22T00:58:48.883 回答