PHP-通过嵌套数组值对数组进行排序的方法



我有一个php函数,它用类别数据构建一个数组,如下所示:

 $categories = array();
        foreach($catIds as $catId) {
            $category = Mage::getModel('catalog/category')->load($catId);
            $categories[$category->getName()] = array(
                'url' => $category->getUrl(),
                'img' => $category->getImageUrl(),
                'thumb' => Mage::getBaseUrl('media').'catalog' . DS . 'category' . DS.$category->getThumbnail(),
                'position' => $category->getPosition()
            );
        }

我想按"position"值对$categories数组进行排序。我尝试了ksort和array_multiport的一些变体,但一直未能找到解决方案。

usort--使用用户定义的比较函数按值对数组进行排序

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

这是假设位置是一个数值,并且您正在升序排序。

相关内容

  • 没有找到相关文章

最新更新